0

我想用 0 替换数据框中数字列中的所有 NA 值。我应该怎么做?

我得到了一个具有 NA 值的数值变量列表,如下所示(我确信它不是最优的):

iris[3,4] <- NA
missingVars <- iris[colSums(is.na(iris)) > 0] 
missingNumVars <- missingVars[sapply(missingVars, is.numeric)]
4

2 回答 2

9

这应该适合你

iris[is.na(iris)] <- 0
于 2012-11-26T04:04:04.503 回答
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)}) )
于 2012-11-26T04:07:44.293 回答