R 创建每行和每列小计的表
我知道如何使用R 创建每行和每列小计的表,r,R,我知道如何使用table在R中创建表,如下所示: x <- rep(1:3,4) y <- rep(1:4,3) z<- cbind(x,y) table(z[,1],z[,2]) 1 2 3 4 1 1 1 1 1 2 1 1 1 1 3 1 1 1 1 >a [,1] [,2] [,3] [1,] 1 1 1 [2,] 1 1 1 [3,] 1 1 1 >a a a [,1] [,2] [,3]
table
在R中创建表,如下所示:
x <- rep(1:3,4)
y <- rep(1:4,3)
z<- cbind(x,y)
table(z[,1],z[,2])
1 2 3 4
1 1 1 1 1
2 1 1 1 1
3 1 1 1 1
>a
[,1] [,2] [,3]
[1,] 1 1 1
[2,] 1 1 1
[3,] 1 1 1
>a a a
[,1] [,2] [,3] [,4]
[1,] 1 3 1 5
[2,] 1 1 1 3
[3,] 1 1 1 3
[4,] 3 5 3 11
另一种方法:
a <- addmargins(a, c(1, 2), sum)
a感谢您提供关于addmargins
的提示,我从未听说过它。实际上,在发布答案几分钟后,我在解决一个完全无关的问题(R邮件列表中的一个问题)时意外地发现了它。:)
> a
[,1] [,2] [,3]
[1,] 1 1 1
[2,] 1 1 1
[3,] 1 1 1
> a <- cbind(a, rowSums(a))
> a <- rbind(a, colSums(a))
> a
[,1] [,2] [,3] [,4]
[1,] 1 3 1 5
[2,] 1 1 1 3
[3,] 1 1 1 3
[4,] 3 5 3 11
a <- addmargins(a, c(1, 2), sum)