我有一个data.table,它只有一个关键字和大约100个数值行,其中一个被设置为关键字。我想创建一个新的变量,它包含按关键字分组的每个数值行的总和。
例如,我的数据目前是:
ID Count1 Count2 Count3
1 1 3 0
1 3 3 3
2 1 2 1
3 1 1 2
我期望的是:
ID Count1 Count2 Count3
1 4 6 3
2 1 2 1
3 1 1 2
我已经尝试了很多方法来获取这个。我知道我可以做:
Y <- X[, list(Count=sum(Count1), Count2=sum(Count2), Count3=sum(Count3), by = ID]
但是,我有数百个变量,只能在列表中获得它们的名称。 我该如何处理?
非常感谢您的帮助。
以下是生成测试数据的代码:
ID <-c(rep(210, 9), rep(3917,6))
Count1 <- c(1,1,0,1,3,1,4,1,1,1,1,1,1,0,1)
Count2 <- c(1,0,0,1,0,1,0,1,1,1,1,1,1,0,1)
Count3 <- c(1,0,0,1,0,1,0,1,1,1,1,1,1,0,1)
x <- data.table(ID, Count1, Count2, Count3)
setkey(x, ID)