如何在 R 資料框中提取因子列的因子水平?


要提取因子列的因子水平,我們可以簡單地使用 levels 函式。例如,如果我們有一個名為 df 的資料框,其中包含一個用 x 定義的因子列,那麼可以使用命令 levels(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"

更新於: 2021年2月9日

11K+ 瀏覽量

啟動您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.