2010-12-06 18 views
6

ごとに私はこのように、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 

私はそれがどのように見える作りにテーブルの余白の合計を追加することができます方法:

1 2 3 4 
    1 1 1 1 1 4 
    2 1 1 1 1 4 
    3 1 1 1 1 4 
    3 3 3 3 

答えて

8
> 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) 
+0

'addmargins'のヒントを聞いたことありがとうございました。 – VitoshKa

+0

答えを投稿して数分後、私は実際には無関係の問題(Rのメーリングリストの質問の1つ)を解決したときに偶然それに遭遇しました。 :) –