首页 > 解决方案 > 如何在 R 中合并和累加列?

问题描述

我在 RI 中有一个问题无法解决,所以我在这里寻求帮助。我想将三列合并为一列,但还没有找到这样做的方法。假设它看起来像这张表:

Time H C W K
0    1 2 0 5
1    5 2 1 1
2    0 1 2 2

我如何把它变成这张桌子:

Time G K
0    3 5
1    8 1
2    3 2

标签: rmerge

解决方案


也许你可以试试下面的代码

subset(within(df, G <- rowSums(cbind(H, C, W))), select = -c(H, C, W))

给予

  Time K G
1    0 5 3
2    1 1 8
3    2 2 3

或一个data.table选项

> setDT(df)[, .(Time, G = rowSums(cbind(H, C, W)), K)][]
   Time G K
1:    0 3 5
2:    1 8 1
3:    2 3 2

推荐阅读