R中的汇总数据表

时间:2018-10-18 14:01:28

标签: r data.table aggregate

我有一个大数据表,需要通过一个变量(ID)进行汇总。变量Vb应该汇总为一个总和,但是变量Vc应该保留其值,因为每个ID具有相同的值(类似于SPSS中按第一个值的汇总)。

DT <- data.table(ID = c(11, 11, 22, 22, 22, 44, 55, 55, 55), 
    Vb=c(50,40,4,3,2,8,9,11,5), Vc = c(1,1,3,3,3,1,2,2,2))

我大约有15个变量要汇总(一半按总和,其他按值),所以最有效的方法将不胜感激!

2 个答案:

答案 0 :(得分:2)

这应该可以工作(如果Vc确实是唯一的):

kubectl get pods --all-namespaces -o jsonpath={.items[*].spec.containers[*].name}

答案 1 :(得分:1)

使用sqldf

我们可以group by IDsum(Vb)如下:

library(sqldf)
sqldf("select ID,sum(Vb),VC from DT group by ID") # If Vc is unique

OR

sqldf("select ID,sum(Vb),VC from DT group by ID,Vc") # If Vc is not unique

输出:

  ID sum(Vb) Vc
1 11      90  1
2 22       9  3
3 44       8  1
4 55      25  2