我在 R 中有一个看起来像这样的变量
> q
[1] 0.4231
Levels: 0.4231
我想摆脱那种疯狂的关卡。我只想要价值。我该怎么做呢。我试过了
> as.numeric(q)
[1] 1
这是行不通的。
例如,我想做一些简单的算术,比如q+1
,我目前做不到
> q+1
[1] NA
Warning message:
In Ops.factor(q, 1) : + not meaningful for factors
我想你忘了做一些简单的步骤。首先,如果要将 q 转换为数字,as.numeric(q)
则仅将 q 作为数字返回,而不将 q 本身转换为数字。其次,您不能直接从一个因子转到一个数字;您需要将其转换为字符,然后是数字。
这是我在下面尝试的:
我复制了你的例子:
q<-as.factor(0.423)
q
[1] 0.423
Levels: 0.423
as.numeric(q)
[1] 1
q+1
[1] NA
Warning message:
In Ops.factor(q, 1) : + not meaningful for factors
向您展示您不能将因子直接更改为数字:查看 q+1 不是 eu
q<-as.numeric(q)
q+1
[1] 2
最后,这是将因子 q 转换为数字字符串的正确方法:
q<-as.numeric(as.character((q)))
q+1
[1] 1.423