从 R 数据框中的因子列中提取特定级别。

r programmingserver side programmingprogramming

要从 R 数据框中的因子列中提取特定级别,我们可以使用 levels 函数和因子编号。

例如,如果我们有一个名为 df 的数据框,其中包含一个因子列,例如 F,那么我们可以使用下面给出的命令 − 找到 F 中的第三个级别

levels(df$F)[2]

示例 1

以下代码片段创建了一个示例数据框 −

Grp<-factor(sample(LETTERS[1:4],20,replace=TRUE))
df1<-data.frame(Grp)
df1

创建以下数据框

  Grp
 1 D
 2 C
 3 C
 4 D
 5 B
 6 C
 7 D
 8 A
 9 B
10 C
11 B
12 C
13 B
14 B
15 C
16 A
17 C
18 B
19 B
20 D

要在上面创建的数据框中查找 df1 的 Grp 列中的第二级,请将以下代码添加到上面的代码片段中 −

Grp<-factor(sample(LETTERS[1:4],20,replace=TRUE))
df1<-data.frame(Grp)
levels(df1$Grp)[2]

如果将上述所有代码片段作为一个程序执行,则会生成以下输出 −

[1] "B"

要在上面创建的数据框中查找 df1 的 Grp 列中的第四级,请将以下代码添加到上面的代码片段中 −

Grp<-factor(sample(LETTERS[1:4],20,replace=TRUE))
df1<-data.frame(Grp)
levels(df1$Grp)[4]

如果将上述所有代码片段作为一个程序执行,则会生成以下输出 −

[1] "D"

示例 2

以下代码片段创建了一个示例数据框 −

Class<-factor(sample(c("First","Second","Third"),20,replace=TRUE))
df2<-data.frame(Class)
df2

创建以下数据框

   Class
 1 Third
 2 Second
 3 First
 4 Third
 5 Third
 6 Third
 7 First
 8 Third
 9 Third
10 Second
11 Third
12 First
13 Second
14 First
15 First
16 Third
17 First
18 First
19 Third
20 Second

要在上面创建的数据框中查找 df2 的 Class 列中的第二级,请将以下代码添加到上面的代码片段中 −

Class<-factor(sample(c("First","Second","Third"),20,replace=TRUE))
df2<-data.frame(Class)
levels(df2$Class)[2]

如果将上述所有代码片段作为一个程序执行,则会生成以下输出 −

[1] "Second"

要在上面创建的数据框中查找 df2 的 Class 列中的第一个级别,请将以下代码添加到上面的代码片段中 −

Class<-factor(sample(c("First","Second","Third"),20,replace=TRUE))
df2<-data.frame(Class)
levels(df2$Class)[1]

如果将上述所有代码片段作为一个程序执行,则会生成以下输出 −

[1] "First"

要在上面创建的数据框中查找 df2 的 Class 列中的第三级,请将以下代码添加到上面的代码片段中−

Class<-factor(sample(c("First","Second","Third"),20,replace=TRUE))
df2<-data.frame(Class)
levels(df2$Class)[3]

如果将上述所有代码片段作为一个程序执行,则会生成以下输出 −

[1] "Third"

示例 3

以下代码片段创建了一个示例数据框−

Category<-factor(sample(c("Low","Medium","High"),20,replace=TRUE))
df3<-data.frame(Category)
df3

创建以下数据框

   Category
 1 Low
 2 Medium
 3 Medium
 4 Medium
 5 Low
 6 High
 7 Low
 8 Medium
 9 Low
10 High
11 High
12 Medium
13 High
14 Medium
15 Medium
16 High
17 Low
18 High
19 High
20 Low

级别将按字母顺序排序,因此将根据第一个字母提取级别。

要在上面创建的数据框中找到 df3 的 Category 列中的第一个级别,请将以下代码添加到上面的代码片段中 −

Category<-factor(sample(c("Low","Medium","High"),20,replace=TRUE))
df3<-data.frame(Category)
levels(df3$Category)[1]

如果将上述所有代码片段作为一个程序执行,则会生成以下输出 −

[1] "High"

要在上面创建的数据框中查找 df3 的 Category 列中的第二级,请将以下代码添加到上面的代码片段中−

Category<-factor(sample(c("Low","Medium","High"),20,replace=TRUE))
df3<-data.frame(Category)
levels(df3$Category)[2]

如果将上述所有代码片段作为一个程序执行,则会生成以下输出 −

[1] "Low"

要在上面创建的数据框中查找 df3 的 Category 列中的第三级,请将以下代码添加到上面的代码片段中−

Category<-factor(sample(c("Low","Medium","High"),20,replace=TRUE))
df3<-data.frame(Category)
levels(df3$Category)[3]

如果将上述所有代码片段作为一个程序执行,则会生成以下输出 −

[1] "Medium"

相关文章