如何用R数据帧的边距创建和表?

列联表中的空白行和列的总和总是有用的,因为它们用于不同类型的计算,例如比值比,概率等。如果R数据帧具有因子列,那么我们可以为此创建列联表数据帧,可以使用addmargins函数来完成。

示例

请看以下数据帧-

x1<-sample(LETTERS[1:4],20,replace=TRUE)

x2<-sample(c("India","USA","China"),20,replace=TRUE)

df1<-data.frame(x1,x2)

df1

输出结果

   x1 x2

1 B China

2 B India

3 B India

4 D India

5 B India

6 D   USA

7 D   USA

8 A   USA

9 D   USA

10 C India

11 B China

12 D China

13 D China

14 A India

15 D   USA

16 A China

17 D India

18 A China

19 B China

20 A India

为x1和x2创建列联表,并在边距上加和-

示例

>CT1<-addmargins(table(df1$x1,df1$x2),c(1,2)) 

>CT1

输出结果

  China India USA Sum

A   2    2     1   5

B   3    3     0   6

C   0    1     0   1

D   2    2     4   8

Sum 7    8     5  20

让我们看另一个例子-

示例

y1<-sample(c("John","Christina","Michael","Sona"),20,replace=TRUE)

y2<-sample(c("1","2","3","4"),20,replace=TRUE)

df2<-data.frame(y1,y2)

df2

输出结果

    y1        y2

1 Sona        2

2 John        3

3 John        4

4 Sona        2

5 Christina   4

6 Michael     2

7 Michael     4

8 John        1

9 John        4

10 John       1

11 Michael    3

12 Sona       1

13 Sona       2

14 Michael    2

15 Michael    2

16 Michael    1

17 Michael    3

18 Christina  1

19 Christina  4

20 Sona       1

创建y1和y2的列联表,并在边距上加和-

示例

>CT2<-addmargins(table(df2$y1,df2$y2),c(1,2)) 

>CT2

输出结果

          1  2  3  4  Sum

Christina 1  0  0  2   3

John      2  0  1  2   5

Michael   1  3  2  1   7

Sona      2  3  0  0   5

Sum       6  6  3  5  20

以上是 如何用R数据帧的边距创建和表? 的全部内容, 来源链接: utcz.com/z/360989.html

回到顶部