我想采用数据框并折叠列上的行,然后创建另一个列,它是所有值的向量.
例如,我想像这样转换数据框:
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
Run Code Online (Sandbox Code Playgroud)
至:
id item
1 (100,103,109,101)
2 (102,109,107,105)
3 (105,106,101,102,110)
Run Code Online (Sandbox Code Playgroud)
因此,第一列是唯一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))
Run Code Online (Sandbox Code Playgroud)