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

如何修改大型数据集中重复ID值且不改动其他行列原有数据

解决方案

批量自动处理重复ID(推荐,无需手动修改单条数据)

用基础R代码即可批量处理所有重复ID,完全不会改动其他列的原有数值:

# 方法1:给重复ID加序号后缀保留原始信息,如两个1756会变为1756_1、1756_2
Initial_df$sofifa_id <- ave(
  Initial_df$sofifa_id, 
  Initial_df$sofifa_id,
  FUN = function(x) {
    if (length(x) > 1) paste0(x, "_", seq_along(x))
    else x
  }
)

# 方法2:重复ID顺延为全新连续数字,如第二个1756变为当前数据集最大ID+1
max_id <- max(as.numeric(Initial_df$sofifa_id), na.rm = TRUE)
dup_rows <- duplicated(Initial_df$sofifa_id)
Initial_df$sofifa_id[dup_rows] <- as.character(max_id + cumsum(dup_rows)[dup_rows])

原有手动修改代码的修正

如果仅需要修正单条1756重复的情况,你现有代码的错误点是nrow(Initial_df$sofifa_id)写法错误,sofifa_id是单列向量没有行数属性,而且你写的逻辑是新增行而非修改原有重复行,会导致数据集总条数超出513条,修正后写法:

# 定位第二个1756的行位置,仅替换ID字段即可,其他字段保持不变
dup_pos <- which(Initial_df$sofifa_id == "1756")[2]
Initial_df[dup_pos, "sofifa_id"] <- "1757"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 07:15:04