gpt4 book ai didi

r - 在合并另一个列值时折叠数据框中的行

转载 作者:行者123 更新时间:2023-12-04 00:41:55 25 4
gpt4 key购买 nike

我有这个数据集

d1 = data.frame(PatID=c(1,1,1,2,2,4,1,2), 
code1=c(1,2,3,1,2,7,2,8),
location=c('a','b','c','d','e','f','g','h'))

我想消除重复行(在 PatID 上)所以

  1. 对于每个唯一的 PatID,我只得到一行;
  2. 为所有公共(public)行合并 code1 的值,
  3. 保留任何匹配行的位置(第一行或最后一行 - 无关紧要)。

输出应该是:

PatID    code1    location 
1 1,2,3 a
2 1,2,8 d
4 7 f

我尝试聚合、ddply 均未成功,甚至在使用 melt dcast 时遇到了困难。我以前是 unix 程序员,但对 还是陌生的.

最佳答案

ddply 工作正常:

ddply(d1,.(PatID),
summarise,
code1 = paste(unique(code1),collapse = ','),
location = location[1])

PatID code1 location
1 1 1,2,3 a
2 2 1,2,8 d
3 4 7 f

哦,好的。这是 data.table 版本:

d2 <- as.data.table(d1)
> d2[,list(code1 = paste(unique(code1),collapse = ','),location = location[1]),by = 'PatID']
PatID code1 location
1: 1 1,2,3 a
2: 2 1,2,8 d
3: 4 7 f

关于r - 在合并另一个列值时折叠数据框中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17707389/

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