如何在 R 中创建包含每行和每列小计的表格?


每行和每列的小计实际上称为边缘和。因此,我们可以对表格使用 addmargins 函数来获取每行和每列的小计。

例如,如果我们有一个名为 TABLE 的表格,则可以使用以下命令添加小计:

TABLE<-addmargins(TABLE,c(1,2),sum)

请查看以下示例以了解其工作原理。

示例 1

以下代码片段创建了一个示例数据框:

x1<-rpois(20,1)
y1<-rpois(20,5)
df1<-data.frame(x1,y1)
df1

输出

创建了以下数据框:

   x1 y1
1  0  5
2  1  6
3  0  3
4  1  4
5  3  6
6  2  4
7  3  6
8  0  4
9  1  5
10 0  2
11 2  5
12 1  2
13 0  7
14 2  4
15 0  6
16 2  3
17 0  2
18 1  5
19 2  5
20 0  5

要创建包含每行和每列小计的表格,请将以下代码添加到上述代码片段中:

x1<-rpois(20,1)
y1<-rpois(20,5)
df1<-data.frame(x1,y1)
table1<-table(df1$x1,df1$y1)
table1

输出

如果您将以上所有代码片段作为单个程序执行,它将生成以下输出:

   2  3  4  5  6  7
0  2  1  1  2  1  1
1  1  0  1  2  1  0
2  0  1  2  2  0  0
3  0  0  0  0  2  0

要创建包含每行和每列小计的表格,请将以下代码添加到上述代码片段中:

table1<-addmargins(table1,c(1,2),sum)
Margins computed over dimensions
in the following order:
1:
2:
table1

输出

如果您将以上所有代码片段作为单个程序执行,它将生成以下输出:

    2  3  4  5  6  7  sum
0   2  1  1  2  1  1  8
1   1  0  1  2  1  0  5
2   0  1  2  2  0  0  5
3   0  0  0  0  2  0  2
sum 3  2  4  6  4  1 20

示例 2

以下代码片段创建了一个示例数据框:

x2<-rpois(20,5)
y2<-rpois(20,5)
df2<-data.frame(x2,y2)
df2

输出

创建了以下数据框:

   x2 y2
1  1  7
2  7  6
3  5  3
4  4  3
5  6  3
6  4  3
7  4  4
8  4  7
9  4  5
10 4  6
11 7  7
12 8  9
13 4  7
14 6  6
15 3  6
16 7  5
17 3  3
18 4  0
19 6  7
20 5  4

要创建包含每行和每列小计的表格,请将以下代码添加到上述代码片段中:

x2<-rpois(20,5)
y2<-rpois(20,5)
df2<-data.frame(x2,y2)
table2<-table(df2$x2,df2$y2)
table2

输出

如果您将以上所有代码片段作为单个程序执行,它将生成以下输出:

   0  3  4  5  6  7 9
1  0  0  0  0  0  1 0
3  0  1  0  0  1  0 0
4  1  2  1  1  1  2 0
5  0  1  1  0  0  0 0
6  0  1  0  0  1  1 0
7  0  0  0  1  1  1 0
8  0  0  0  0  0  0 1

要创建包含每行和每列小计的表格,请将以下代码添加到上述代码片段中:

table2<-addmargins(table2,c(1,2),sum)
Margins computed over dimensions
in the following order:
1:
2:
table2

输出

如果您将以上所有代码片段作为单个程序执行,它将生成以下输出:

    0  3  4  5  6  7  9 sum
1   0  0  0  0  0  1  0  1
3   0  1  0  0  1  0  0  2
4   1  2  1  1  1  2  0  8
5   0  1  1  0  0  0  0  2
6   0  1  0  0  1  1  0  3
7   0  0  0  1  1  1  0  3
8   0  0  0  0  0  0  1  1
sum 1  5  2  2  4  5  1 20

更新时间: 2021 年 11 月 3 日

2K+ 阅读量

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告