清除最常见数据框无效条目的简短标准代码
brief standard code to clean most common data frame invalid entries
您经常使用的具体、简短的 R 代码是什么,用于估算/删除/清理 80% 最常见的 无效条目
在数据框中?
(我总是收到数据帧:NA、空白、数字列中的字符)。
简单的特定数据框示例
清除常见的无效条目:
(我真正的前任。可以有 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
我从来不知道 "culprit" 值是多少,
(或它们将出现在哪个 DF 列中)...
我希望缺失值显示估算/替代的有效值
带有 average/median 列值。
与仅数字列中的无效 "string" 值类似。
Objective: 以标准方式快速清理我收到的具有相同常见问题的新 DF,
在使用 randomForest 之前。
生成数据:
dd <- read.csv(text="
var1,var2,var3
10,100,1000
20,NA,2000
aa,NA,3000
40,400,
50,500,5000
60,600,6000 ")
Column-wise clean-up函数(如果你想处理其他情况,你可以添加更多的逻辑):
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)
您经常使用的具体、简短的 R 代码是什么,用于估算/删除/清理 80% 最常见的 无效条目
在数据框中?
(我总是收到数据帧:NA、空白、数字列中的字符)。
简单的特定数据框示例
清除常见的无效条目:
(我真正的前任。可以有 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
我从来不知道 "culprit" 值是多少,
(或它们将出现在哪个 DF 列中)...
我希望缺失值显示估算/替代的有效值
带有 average/median 列值。
与仅数字列中的无效 "string" 值类似。
Objective: 以标准方式快速清理我收到的具有相同常见问题的新 DF,
在使用 randomForest 之前。
生成数据:
dd <- read.csv(text="
var1,var2,var3
10,100,1000
20,NA,2000
aa,NA,3000
40,400,
50,500,5000
60,600,6000 ")
Column-wise clean-up函数(如果你想处理其他情况,你可以添加更多的逻辑):
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)