如何从R数据框中的因子列中提取因子水平?

要从因子列中提取因子水平,我们可以简单地使用水平函数。例如,如果我们有一个名为df的数据框,其中包含用x定义的因子列,则可以使用命令level(df $x)提取x中因子水平的水平。如果我们有大量关卡,此提取将很有帮助。

例1

考虑以下数据帧-

x1<−factor(sample(letters[1:3],20,replace=TRUE))

y1<−rnorm(20,5,0.31)

df1<−data.frame(x1,y1)

df1

输出结果
x1 y1

1 a 4.480255

2 b 4.865971

3 a 5.278760

4 a 5.208462

5 c 4.815111

6 a 5.116731

7 a 5.278687

8 b 5.832620

9 c 5.182383

10 a 4.741525

11 b 4.645954

12 c 4.972552

13 a 5.515956

14 c 4.951365

15 b 5.214277

16 c 5.444890

17 b 4.590310

18 a 4.949908

19 a 4.858476

20 c 5.179366

x1的提取因子水平-

示例

levels(df1$x1)
输出结果
[1] "a" "b" "c"

例2

如果列值未记录为因子水平,但它们代表它们,那么我们需要使用as.factor该列,如以下示例所示-

x2<−sample(c("Hot","Cold","Warm"),20,replace=TRUE)

y2<−rpois(20,30)

df2<−data.frame(x2,y2)

df2

输出结果
x2 y2

1 Warm 29

2 Hot 23

3 Cold 26

4 Hot 30

5 Hot 36

6 Hot 25

7 Hot 34

8 Hot 24

9 Warm 29

10 Hot 34

11 Warm 25

12 Cold 26

13 Hot 30

14 Cold 31

15 Warm 28

16 Cold 25

17 Cold 32

18 Hot 25

19 Hot 32

20 Cold 28

输出结果
levels(df2$x2)
输出结果
NULL

示例

levels(factor(df2$x2))
输出结果
[1] "Cold" "Hot" "Warm"

以上是 如何从R数据框中的因子列中提取因子水平? 的全部内容, 来源链接: utcz.com/z/337191.html

回到顶部