gpt4 book ai didi

R 转换折叠行

转载 作者:行者123 更新时间:2023-12-01 23:15:12 25 4
gpt4 key购买 nike

我想获取一个数据框并将行折叠到列上,然后简单地创建另一列作为所有值的向量。

例如,我想像这样转换数据框:

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))

最佳答案

您可以使用aggregate函数按id进行分组,然后使用citem中收集相应的元素功能:

aggregate(formula = item ~ id, data = input_frame, FUN = c)

输出:

   id                    item
1 1 100, 103, 109, 101
2 2 102, 109, 107, 105
3 3 105, 106, 101, 102, 110

关于R 转换折叠行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30466680/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com