如何汇总R中的行和列?

如何汇总R中的行和列?,r,summarization,group-summaries,R,Summarization,Group Summaries,我有这样的桌子: aaa bbb ccc A 0 3 5 B 2 2 2 C 2 5 7 我使用anti_join(对于具有非数值的表)和table命令以更好的方式对结果进行分组(类似于Excel中的countif) 我们可以尝试使用rowSums和colSums cbind(rbind(df, SUM = rowSums(

我有这样的桌子:

           aaa     bbb   ccc 
  A         0       3     5    
  B         2       2     2    
  C         2       5     7
我使用
anti_join
(对于具有非数值的表)和
table
命令以更好的方式对结果进行分组(类似于Excel中的countif)


我们可以尝试使用
rowSums
colSums

cbind(rbind(df, SUM = rowSums(df)), SUM = c(colSums(df), NA))

#     aaa bbb ccc SUM
#A     0   3   5   4
#B     2   2   2  10
#C     2   5   7  14
#SUM   8   6  14  NA

一个优雅的选项是
addmargins

addmargins(as.matrix(df1))
#    aaa bbb ccc Sum
#A     0   3   5   8
#B     2   2   2   6
#C     2   5   7  14
#Sum   4  10  14  28
数据
df1当然,它是有效的,有没有一种方法可以像示例中那样对结果进行布局?布局是完美的,但如果我尝试将其应用到实际表中,则总和是incorrect@Ale您有任何
NA
值吗。上述解决方案基于提供的示例数据。您应该添加一个表示实际数据的示例。不,没有NA,我的意思是它与上面的示例非常相似,但它给出了一个警告:结果的行数不是向量长度的倍数(arg2)
cbind(rbind(df, SUM = rowSums(df)), SUM = c(colSums(df), NA))

#     aaa bbb ccc SUM
#A     0   3   5   4
#B     2   2   2  10
#C     2   5   7  14
#SUM   8   6  14  NA
addmargins(as.matrix(df1))
#    aaa bbb ccc Sum
#A     0   3   5   8
#B     2   2   2   6
#C     2   5   7  14
#Sum   4  10  14  28
df1 <- structure(list(aaa = c(0L, 2L, 2L), bbb = c(3L, 2L, 5L), ccc = c(5L, 
2L, 7L)), .Names = c("aaa", "bbb", "ccc"), class = "data.frame", row.names = c("A", 
"B", "C"))