【发布时间】:2014-05-19 14:04:18
【问题描述】:
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。谢谢。
【问题讨论】:
-
好吧,这个问题实际上是不可能的。一旦您像 OP 一样指定标签参数,原始值 2、3 和 4 将完全丢失。它们永远消失了,无法恢复(一般意义上)。
-
@Mattrition 放松一下 - 我重新打开了它。
-
如果底层的值很重要,那么
factor是数据结构的错误选择。因素的意义在于,重要的是标签。因子始终存储为映射到标签的(任意)整数代码。 -
@Stata 也许如果您向我们展示了您想要执行此操作的上下文,我们可以建议一种替代方法。
标签: r data-structures label