从 R 数据框中的因子列中提取特定级别。
要从 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"