【发布时间】:2015-08-08 14:34:36
【问题描述】:
我想获取一个数据框并折叠一列上的行,然后简单地创建另一列,它是所有值的向量。
例如,我想像这样转换一个数据框:
id item
1 100
1 103
1 109
1 101
2 102
2 109
2 107
2 105
3 105
3 106
3 101
3 102
3 110
收件人:
id item
1 (100,103,109,101)
2 (102,109,107,105)
3 (105,106,101,102,110)
所以第一列是唯一的 id,第二列是针对该 id 看到的所有项目的向量/列表。看起来这应该很容易,但我一直无法找到解决方案。如示例中所述,每个 id 的项目数量可能会有所不同。
这是创建我要转换的初始数据框的代码。
id <- c(1,1,1,1,2,2,2,2,3,3,3,3,3)
item <- c(100,103,109,101,102,109,107,105,105,106,101,102,110)
input_frame <- data.frame(cbind(id,item))
【问题讨论】:
-
一个类似的问题是stackoverflow.com/questions/26981385/…,尽管该问题询问如何折叠除分组列之外的所有列