0

データフレームの数値列のすべてのNA値を0に置き換えたいのですが、どうすればよいですか?

私は次のように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 に答える