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

R中按ID分组合并LOC列时如何对重复值去重拼接

R按ID分组拼接唯一LOC值的代码调整方法

你现有代码的问题是直接对分组内所有LOC值拼接,没有先做去重处理,调整方案如下:

最优方案(输出每个ID单行的结果)

替换mutate为summarise,同时对LOC列先取唯一值再拼接:

library(dplyr)

df %>%
  group_by(ID) %>%
  summarise(LOC = paste(unique(LOC), collapse = " + "), .groups = "drop")

执行后会直接得到你需要的输出格式:每个ID对应一行,LOC列为去重后拼接的结果。

如果需要拼接的LOC值按字母序排列,可以把unique(LOC)替换为sort(unique(LOC))。


保留原表所有行、仅新增拼接列的方案

如果需要保留原数据的所有行,只追加拼接后的新列,只需要在原代码基础上给LOC加unique()即可:

library(dplyr)

df %>%
  group_by(ID) %>%
  mutate(concat_LOC = paste(unique(LOC), collapse = " + ")) %>%
  ungroup()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 23:36:02