您经常使用的具体简短R代码是什么,用于归因/删除/清除 80%最常见的无效条目 在数据框中? (我总是收到数据框:NAs,空格,数字列中的字符)。
简单的具体数据框示例
清理常见的无效条目:
(我真正的前任可以有10000多行和25个变量......)
var1 var2 var3
gene001 10 100 1000
gene002 20 NA 2000
gene003 aa NA 3000
gene004 40 400 blank!
gene005 50 500 5000
gene006 60 600 6000
我从来不知道“罪魁祸首”的价值是什么,
(或者它们将出现在DF列中)......
我希望缺失值显示估算/替换的有效值
列平均值/中值。
类似于仅数字列中的无效“字符串”值。
目标:以标准方式快速清洁我收到的具有相同常见问题的新DF 在使用randomForest之前。
答案 0 :(得分:2)
生成数据:
dd <- read.csv(text="
var1,var2,var3
10,100,1000
20,NA,2000
aa,NA,3000
40,400,
50,500,5000
60,600,6000 ")
逐列清理功能(如果还有其他情况需要处理,可以为此添加更多逻辑):
cleanup <- function(x) {
## ASSUME all columns should be numeric
if (is.factor(x) || is.character(x)) {
x <- suppressWarnings(as.numeric(as.character(x)))
}
## impute median
m <- median(x,na.rm=TRUE)
x[is.na(x)] <- m
return(x)
}
将清理应用于所有列:
dd[] <- lapply(dd,cleanup)