我正在尝试用简单的代码学习数据清理。
我的中心问题是:并排使用两个单方括号有什么用?
这是df一个例子。
df <- data.frame(x = c(1:3, NA, NA), y = c(6:9, NA))
下面的代码是用 99 等替换 NA 的众多方法之一。我认为这很简单。
messy <- function(df, impute){
for (i in 1:nrow(df)) {
df[i, ][is.na(df[i, ])] <- impute
}
return(df)
}
clean <- messy(df, 99)
clean
- 但是为什么我需要使用两个简单的方括号来定位 NA。
- 为什么不能将代码简化为
is.na(df[i, ]) <- impute? - 有没有更有效的方法来替换 NA,例如使用 apply 系列?
非常感谢您的回答。