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)