【发布时间】:2019-02-05 21:20:40
【问题描述】:
我的数据框中有一个包含大约 800 万个值的变量,其格式如下:1.275.900.0(字符数据类型)。将它们更改为因子是不行的,因为它会减慢处理速度,所以我需要数字。
我尝试摆脱小数并使用 . . .
df$variable = as.numeric(sub(".", "", df$variable, fixed=TRUE))
不幸的是,我收到了Warning message:
NAs introduced by coercion.
我该如何解决这个问题?
【问题讨论】:
-
试试
gsub而不是sub -
好吧,我又遇到了错误,但与之前的尝试不同,它并没有 NA 出整个向量。事实上,大多数东西似乎都在这里。上面有一种情况无法捕捉到,但它是微不足道的,无论如何都会被删除。
-
我想你可能不得不逃避 .因为否则它会被解释为正则表达式。
-
@TinglTanglBob 由于
fixed=TRUE参数,这不是必需的。问题是sub,它只会替换每个元素中的第一个.,这就是我建议gsub的原因。 -
但是你想要什么答案? 1.275.900.0 应该变成 1.2759000 或 1275.9000 或 1275900.0 还是 12759000?
标签: r type-conversion