R语言如何按唯一ID分组并将对应值用逗号拼接汇总
问题原因
- 核心错误为列名大小写不匹配:你的数据框中存储数值的列名是小写的
value,但代码paste(Value, collapse=",")中使用了大写开头的Value。R对变量/列名大小写敏感,分组操作后无法识别大写的Value列,因此直接调用了全量value列做拼接,导致返回全量拼接的单行结果。
修正后的可运行代码
library(dplyr) df %>% group_by(ID) %>% summarise(value = paste(value, collapse = ","))
如果需要更稳定的字符串拼接(尤其是存在NA值时),也可以搭配stringr包的str_c使用:
library(dplyr) library(stringr) df %>% group_by(ID) %>% summarise(value = str_c(value, collapse = ","))
运行上述代码即可得到你预期的按ID分组拼接的结果。
内容的提问来源于stack exchange,提问作者Katrix_02
相关产品推荐
相关产品推荐

