【发布时间】:2019-04-16 16:21:18
【问题描述】:
谁能解释一下 as.numeric(levels(x))[x] 究竟是如何工作的? 这里 x 是一个因子变量。(例如 x ) 据我所知,首先我们得到 x 的级别(这将是字符,然后我们将其更改为数字。之后发生的事情我无法得到。我知道这种表示是相同的as as.numeric(as.character(x))。
【问题讨论】:
-
第一个答案here看了吗?
-
...那么它只是使用
x值作为位置来获取相应的级别,以数字形式。你可以以as.numeric(levels(x))[c(1,1,2)]为例,这意味着给我1st、1st(再次)和2nd 级别。如果您尝试要求不存在的东西,它将返回NA就像这样as.numeric(levels(x))[c(1,1,2,6)] -
@DeNovo 是的,我看到了那个帖子,但我认为这是关于如何执行转换,而不是关于它到底是如何发生的。
-
@AntoniosK 明白了。谢谢。
标签: r