You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何仅为DataFrame中的重复ID添加字母后缀实现唯一化?

解决DataFrame重复ID仅添加字母后缀的问题

你可以修改ave里的匿名函数,只对分组长度大于1的ID添加后缀,分组长度为1的保持原ID不变:

df$ID <- ave(df$ID, df$ID, FUN = function(i) {
  if (length(i) == 1) {
    i  # 无重复的ID直接返回原值
  } else {
    paste0(i, '.', letters[seq_along(i)])  # 重复ID按顺序加.a/.b/.c...
  }
})

示例验证

假设你的DataFrame是这样的:

df <- data.frame(ID = c("PROJ123", "PROJ123", "PROJ456", "PROJ789", "PROJ789", "PROJ789"))

运行修改后的代码后,df$ID会变成:
"PROJ123.a" "PROJ123.b" "PROJ456" "PROJ789.a" "PROJ789.b" "PROJ789.c"

这样就只有重复的ID被添加了后缀,单个出现的ID保持原样。

内容的提问来源于stack exchange,提问作者sjds

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 01:57:01