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

如何去除R DataFrame中的嵌套重复数据,实现字段间一一对应

解决方案

你遇到的是同ID分组下Tutee_Type和Tutee_Syll_Cons两个字段的去重值发生笛卡尔积关联的问题,按ID分组后将两个字段的去重值按顺序配对即可得到目标结果,两种常用实现方案如下:

方案1:dplyr(tidyverse生态)

library(dplyr)

df_target <- df %>%
  # 按学员ID分组
  group_by(TuteeID) %>%
  summarise(
    # 取当前分组下所有不重复的学员类型
    Tutee_Type = unique(Tutee_Type),
    # 取当前分组下所有不重复的一致性值,顺序和类型一一对应
    Tutee_Syll_Cons = unique(Tutee_Syll_Cons)
  ) %>%
  ungroup()

方案2:data.table(适配你原始数据的打印格式,运行效率更高)

library(data.table)

# 确认数据为data.table格式
setDT(df)
df_target <- df[, 
  .(Tutee_Type = unique(Tutee_Type), Tutee_Syll_Cons = unique(Tutee_Syll_Cons)), 
  by = TuteeID
]

注意事项

如果你的全量数据中存在单个TuteeID下,去重后Tutee_Type数量和Tutee_Syll_Cons数量不一致的情况,需要先回查原始嵌套列表的配对逻辑,上述方案仅适用于两个字段去重后数量一一匹配的场景,你给出的样例数据用上述代码运行后可直接得到预期结果。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 11:09:04