简体   繁体   English

从因子中提取水平

[英]Extract the level from a factor

I have a factor instrumentF :我有一个因子instrumentF

> instrumentF
[1] Guitar Drums  Cello  Harp  
Levels: Cello Drums Guitar Harp

Let's say I extract one level of this factor using [] .假设我使用[]提取了这个因素的一个级别。

> level2 = instrumentF[1]
> level2
[1] Guitar
Levels: Cello Drums Guitar Harp

How I can get the factor label Guitar from the factor object level2 ?如何从因子对象level2获取因子标签Guitar

level2$level doesn't seem to work: level2$level似乎不起作用:

> Error in level2$level : $ operator is invalid for atomic vectors

Convert to character, see this example:转换为字符,看这个例子:

# factor variable example
instrumentF <- as.factor(c("Guitar", "Drums", "Cello", "Harp"))

instrumentF
# [1] Guitar Drums  Cello  Harp  
# Levels: Cello Drums Guitar Harp

as.character(instrumentF)[ 1 ]
# [1] "Guitar"

See relevant post: Convert data.frame columns from factors to characters请参阅相关帖子: 将 data.frame 列从因子转换为字符

Or subset the level:或子集级别:

# as levels are sorted alphabetically, we need to subset the 3rd one
levels(instrumentF)[ 3 ]
# [1] "Guitar"

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM