在 R 中创建包含总计的双向表

Dan*_*nka 0 r dataframe data.table

我想知道是否有一种简单的方法来创建一个包含列和行总计的表?

smoke <- matrix(c(51,43,22,92,28,21,68,22,9),ncol=3,byrow=TRUE)
    colnames(smoke) <- c("High","Low","Middle")
    rownames(smoke) <- c("current","former","never")
    smoke <- as.table(smoke)
Run Code Online (Sandbox Code Playgroud)

我认为这会非常简单,但到目前为止我发现的解决方案似乎相当复杂,涉及lapplyrbind。然而,这似乎是一个微不足道的任务,一定有一些更简单的方法吗?

预期结果:

> smoke
        High Low Middle TOTAL
current   51  43     22   116
former    92  28     21   141
never     68  22      9    99
TOTAL    211  93     52    51
Run Code Online (Sandbox Code Playgroud)

Dav*_*d F 5

addmargins(smoke)
Run Code Online (Sandbox Code Playgroud)

addmargins位于 stats 包中。