如何找到因子列在R中的级别数?

要查找因子列的R中的级别数,我们可以将长度函数与唯一函数一起使用。例如,如果我们有一个名为df的数据框,其中包含一个因子列X,则可以使用以下命令在因子列中找到级别数-

length(unique(df$X))

示例

考虑以下数据帧-

x1<-sample(c("A","B","C"),20,replace=TRUE)
y1<-sample(0:9,20,replace=TRUE)
df1<-data.frame(x1,y1)
df1
输出结果
   x1 y1
1  C  8
2  B  9
3  B  2
4  A  7
5  A  8
6  C  4
7  B  0
8  C  3
9  B  3
10 A  5
11 A  8
12 B  0
13 A  6
14 C  2
15 A  4
16 B  7
17 A  9
18 B  1
19 B  3
20 A  5

在列x1中找到级别数-

示例

length(unique(df1$x1))
输出结果
[1] 3

示例

x2<-sample(c("id1","id2","id3","id4"),20,replace=TRUE)
y2<-rnorm(20,1,0.05)
df2<-data.frame(x2,y2)
df2
输出结果
    x2    y2
1  id2  1.0582275
2  id4  0.8763659
3  id4  1.0091340
4  id1  1.0087233
5  id1  1.0022543
6  id3  0.9682852
7  id3  0.9458475
8  id2  1.0329383
9  id3  0.9890525
10 id1  0.9814830
11 id4  0.9732973
12 id1  1.0644264
13 id3  0.9328492
14 id1  0.9064330
15 id2  0.9781466
16 id2  0.9633579
17 id1  0.9985626
18 id4  1.0428324
19 id4  1.0047497
20 id4  0.9717654

在列x2中找到级别数-

示例

length(unique(df2$x2))
输出结果
[1] 4