a <- factor(2:4, labels=c("a", "b", "c"))
a
## [1] a b c
## Levels: a b c
as.numeric(a)
## [1] 1 2 3
我想删除标签并获取数值 2, 3, 4,但 as.numeric(a)
的结果是 1 2 3
。不要告诉我答案是 as.numeric(a) + 1
。谢谢。
最佳答案
由于您没有提供任何更广泛的背景来说明为什么要尝试此操作,因此以下内容只是对可能有用的内容的猜测:
a<-factor(2:4, labels=c("a", "b", "c"))
> names(a) <- as.character(2:4)
> a
2 3 4
a b c
Levels: a b c
> as.integer(names(a))
[1] 2 3 4
我不能说我以前使用过“命名因子”,坦率地说,这个概念对我来说有点奇怪。
如果你真的不想要一个因素,那么只需这样做:
a <- 2:4
names(a) <- letters[1:3]
可能就足够了。
https://stackoverflow.com/questions/23739884/