如何避免在 R 中将数值强制转换为 NA
How to avoid coercion of numeric values to NA in R
我有一个字符模式的数据框列x和class。列中的元素都是数值。我正在尝试将列值从字符转换为数字,但是当我键入 as.numeric(x)
时,只有整数值保留为数字,所有非整数值(即 3.14)都被强制转换为 NA。为什么?如何将其转换为一列数值,避免强制转换为 NA?
这是 dput(PercentageCont)
的输出:
c("50,9", "56,9", "64", "57", "61,4",......)
当我执行 as.numeric 时,所有浮点值都被强制转换为 NA。
问题出在逗号上。这是我的解决方案:
# 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
我有一个字符模式的数据框列x和class。列中的元素都是数值。我正在尝试将列值从字符转换为数字,但是当我键入 as.numeric(x)
时,只有整数值保留为数字,所有非整数值(即 3.14)都被强制转换为 NA。为什么?如何将其转换为一列数值,避免强制转换为 NA?
这是 dput(PercentageCont)
的输出:
c("50,9", "56,9", "64", "57", "61,4",......)
当我执行 as.numeric 时,所有浮点值都被强制转换为 NA。
问题出在逗号上。这是我的解决方案:
# 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