我可以访问保存为我需要清理的.Rdata文件的数据集。所有列都存储为字符,但其中一些实际上是数字。其中一些应该是数字的变量中包含字符串。
我想将所有应该是数字的列转换为数字,并用NA替换任何杂散字符元素。这是一个简单的问题示例。
library(data.table)
temp <- c("1", "2", "3", "notANumber", "4", "5", "NaN2")
dt <- data.table(a = temp)
dt[, a := as.numeric(a)]
此代码的最后一行返回一个警告,指出字符元素被强制为NA。
我想在我的控制下做到这一点并摆脱警告。
答案 0 :(得分:0)
dt <- transform(dt, a = as.numeric(a))
> class(dt$a)
[1] "numeric"
和dt
变得像这样
> dt
a
1: 1
2: 2
3: 3
4: NA
5: 4
6: 5
7: NA
该语句返回警告,但结果似乎正确 它可以作为您的解决方案吗?