首页 > 解决方案 > 如何使用 R 根据 A 列中的值组合 B 列中的值?

问题描述

我正在尝试根据 ID 列中的 ID 值组合下面 Item.ID 列中的值,可以使用逗号分隔 Item.ID 列中的值:

数据框(AS):

AS <- data.frame("Index" = c(1,1,2,2,2,3,4), "Item.ID" = c("A1","C2","A3","U4","M5","K6","Y9"))

所需输出

AS_Wide <- data.frame("Index" = c(1,2,3,4), "Item.ID" = c("A1,C2","A3,U4,M5","K6","Y9"))

标签: r

解决方案


使用基数 R,仅aggregatepaste:

AS.Wide <- aggregate(AS$Item.ID, by=list(Index=AS$Index), paste, collapse=",")

如果要保留“Item.ID”变量名,则需要更改它:

names(AS.Wide)[2] <- "Item.ID"

推荐阅读