考虑一个测试数据集,
dat=data.frame(name=c('A','A','B','C','C','C'),val=c(1,1,2,2,3,2))
name val
A 1
A 1
B 2
C 2
C 3
C 2
获得此输出的最有效方法是什么
name val
A 1
A-1 1
B 2
C 2
C-1 3
C-2 2
因此,只需使用自定义标识符标记重复项。我可以考虑使用通用标识符标记它们paste(dat[which(duplicated(dat$name)),1],"-1",sep='')
,但这只会将“-1”放在所有重复的前面。我想如果该项目第三次出现,用“-2”标记它,依此类推。
干杯