从 R 数据框中的因子列中提取特定级别。
要从R数据框中的因子列中提取特定级别,我们可以使用带有因子编号的级别函数。
例如,如果我们有一个名为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"