根据下面的数据和代码,如何通过为除第一个值之外的每个重复值添加、a等来替换重复项?bc
请注意,在提供给我的实际数据中,有数千个条目,因此可能存在任意数量的重复项,因此,我很难手动找到数据中的每个重复值。所以,我不知道在替换它们之前不首先识别重复项是否会出现问题。也许有一种方法可以首先识别它们,但目前我还不知道。
代码:
# Sample data
df = structure(list(id = c(1, 1, 1, 1, 2, 2, 2, 2, 35555, 35555, 35555
), year = c(2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
2022, 2022)), class = "data.frame", row.names = c(NA, -11L))
# Desired output
df = structure(list(id = c(1, "1a", "1b", "1c", 2, "2a", "2b", "2c", 35555, "35555a", "35555b"
), year = c(2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022, 2022,
2022, 2022)), class = "data.frame", row.names = c(NA, -11L))
# Replace/modify duplicates
Run Code Online (Sandbox Code Playgroud)
如果后缀不重要,make.unique则会自动执行此操作
library(dplyr)
df %>%
mutate(id = make.unique(as.character(id)))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
304 次 |
| 最近记录: |