如何为R数据帧中的两个类别变量创建离散变量和表?
如果我们要为两个类别变量创建一个离散变量和表,则可以使用xtabs函数。输出将是看起来像矩阵的列联表或交叉表。例如,如果我们有一个带有两个分类列x和y以及一个计数列freq的数据帧df,则可以使用xtabs(freq〜x + y,data = df1)创建freq的总和表。
示例
请看以下数据帧-
x1<-sample(c("A","B"),20,replace=TRUE)x2<-sample(c("I","II"),20,replace=TRUE)
y1<-rpois(20,5)
df1<-data.frame(x1,x2,y1)
df1
输出结果
x1 x2 y11 A II 10
2 A I 5
3 B II 7
4 B I 5
5 B I 7
6 A II 1
7 B II 2
8 B II 3
9 B I 8
10 A I 5
11 A II 8
12 A II 4
13 B I 7
14 B II 4
15 B II 3
16 A I 6
17 A I 4
18 A I 5
19 A II 8
20 A II 7
交叉表的创建-
示例
xtabs(y1~x1+x2,data=df1)x2
输出结果
x1 I IIA 25 38
B 27 19
示例
z1<-sample(c("G1","G2","G3","G4"),20,replace=TRUE)z2<-sample(c("S1","S2","S3"),20,replace=TRUE)
y2<-sample(1:10,20,replace=TRUE)
df2<-data.frame(z1,z2,y2)
df2
输出结果
z1 z2 y21 G2 S1 3
2 G2 S2 9
3 G2 S1 7
4 G2 S3 7
5 G4 S2 3
6 G3 S2 7
7 G2 S2 10
8 G3 S3 1
9 G1 S1 3
10 G4 S1 10
11 G3 S2 4
12 G3 S2 9
13 G2 S1 6
14 G1 S3 3
15 G2 S3 9
16 G1 S3 4
17 G1 S1 9
18 G3 S1 4
19 G4 S2 9
20 G1 S1 6
交叉表的创建-
示例
xtabs(y2~z1+z2,data=df2)z2
输出结果
z1 S1 S2 S3G1 18 0 7
G2 16 19 16
G3 4 20 1
G4 10 12 0
以上是 如何为R数据帧中的两个类别变量创建离散变量和表? 的全部内容, 来源链接: utcz.com/z/330818.html