如何避免R中数值强制转换为NA

时间:2018-05-01 09:30:12

标签: r numeric coercion

我有一个字符模式和类的数据框列 x 。列中的元素都是数值。我试图将列值从字符转换为数字,但是当我键入as.numeric(x)时,只有整数值保持为数字,所有非整数值(即3.14)都在NA中强制转换。为什么?如何将其转换为数值列,避免强制转换为NA?
这是dput(PercentageCont)

的输出
c("50,9", "56,9", "64", "57", "61,4",......)

当我执行as.numeric时,所有浮点值都被强制转换为NA。

1 个答案:

答案 0 :(得分:1)

问题在于逗号。这是我的解决方案:

# convert comma to dot
dot = gsub(",","\\.", c("50,9", "56,9", "64"))

[1] "50.9" "56.9" "64"

# transform string into numeric
as.numeric(dot)

[1] 50.9 56.9 64.0