4

大きなデータ フレームから、数値データの行を抽出し、ベクトルとして保存しました。一部の値が欠落しており、NA とマークされています。欠損値を行平均で代入したい。

ありがとう

4

2 に答える 2

3

xあなたのベクトルをしましょう:

x <- c(NA,0,2,0,2,NA,NA,NA,0,2)
ifelse(is.na(x), mean(x, na.rm = TRUE), x)
# [1] 1 0 2 0 2 1 1 1 0 2

または、元のベクトルを気にしない場合は、直接変更できます。

x[is.na(x)] <- mean(x, na.rm = TRUE)
于 2013-06-20T01:47:08.843 に答える
1

これを使って:

filter <- is.na(myVec)

myVec[filter] <- colMeans(myDF[,filter], na.rm=TRUE)

myVecベクトルはどこにありmyDF、data.frame はどこにありますか。

于 2013-06-20T01:34:53.807 に答える