我想将数据框中数字列中的所有NA值替换为0.我应该怎么做?
我得到的NA数值列表如下(我确定它不是最优的):
iris[3,4] <- NA
missingVars <- iris[colSums(is.na(iris)) > 0]
missingNumVars <- missingVars[sapply(missingVars, is.numeric)]
答案 0 :(得分:9)
这应该对你有用
iris[is.na(iris)] <- 0
答案 1 :(得分:5)
这样的东西会起作用并避免重复相同大小的iris
对象(由is.na(iris)
创建)
as.data.frame(lapply(iris, function(x)
if(is.numeric(x)) {return(replace(x, is.na(x),0))}
else {return(x)}) )