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

r programmingserver side programmingprogramming更新于 2025/4/9 19:22:17

每行和每列的小计实际上称为边际和。因此,我们可以将 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

相关文章