小编fle*_*ack的帖子

R 将多行折叠为 1 行 - 相同的列

这是我昨晚回答的一个问题的附带支持,因为我正在重新考虑我想如何格式化我的数据。我确实进行了搜索,但找不到任何适用的答案;我可能正在用错误的术语进行搜索。

我有一个包含许多行的数据表,我想合并这些行:

record_numb <- c(1,1,1,2,2,2)
col_a <- c(123,'','',987,'','')
col_b <- c('','234','','','765','')
col_c <- c('','','543','','','543')
df <- data.frame(record_numb,col_a,col_b,col_c)
library(data.table)
setDT(df)

record_numb    col_a    col_b     col_c
1               123
1                       234
1                                 345
2               987
2                       765
2                               543
Run Code Online (Sandbox Code Playgroud)

每行将始终填充 col_a、col_b 或 col_c。它永远不会超过这 3 个中的 1 个。我想将(?)这些转换为每条记录的一行,所以它看起来像这样:

record_numb     col_a   col_b   col_c
1               123     234     345
2               987     765     543
Run Code Online (Sandbox Code Playgroud)

我玩了一点融化/铸造,但我是 R 的新手,我的一半问题是知道可以使用什么。有这么多可以使用,我希望你们中的一个人可以指出我的包或功能。我进行的搜索指向我熔化和铸造等,但我无法将其应用于这种情况。我愿意使用任何函数或包。

r data.table

6
推荐指数
2
解决办法
1万
查看次数

标签 统计

data.table ×1

r ×1