好的,这应该很容易,但是我正在寻找一种尽可能快的解决方案。
假设我有3个表(表的数量会大很多):
tab1 <- table(c(1, 1, 1, 2, 2, 3, 3, 3))
tab2 <- table(c(1, 1, 4, 4, 4))
tab3 <- table(c(1, 1, 2, 3, 5))
这是我们得到的:
> tab1
1 2 3
3 2 3
> tab2
1 4
2 3
> tab3
1 2 3 5
2 1 1 1
我想以一种快速的方式来使它与许多大表一起工作的是这样的:
1 2 3 4 5
7 3 4 3 1
因此,基本上,表是在所有
names
上聚合的。有没有我缺少的基本功能?谢谢你的帮助!
最佳答案
我们将c
输出连接起来(tab
)以创建“v1”,使用tapply
获取由该对象的sum
分组的元素的names
。
v1 <- c(tab1, tab2, tab3)
tapply(v1, names(v1), FUN=sum)
#1 2 3 4 5
#7 3 4 3 1
关于r - 如果表的长度不同,如何对几个表中的列的值求和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30892120/