如何为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