6
A
答えて
1
NAを含む行を削除する場合は、apply()を使用して各行を確認するためのクイック関数を適用できます。あなたの行列は、x、
goodIdx <- apply(x, 1, function(r) !any(is.na(r)))
newX <- x[goodIdx,]
5
であれば、例えば、私はna.rmは、通常は関数内でうまくいくと思う、は機能を意味するために言います。その後、あなたは
y <- x[complete.cases(x),]
> y
[,1] [,2] [,3]
[1,] 1 4 7
[2,] 2 5 8
でこの行列の完全な例を得ることができます
x <- matrix(c(1:8, NA), 3, 3)
> x
[,1] [,2] [,3]
[1,] 1 4 7
[2,] 2 5 8
[3,] 3 6 NA
:あなたは、次の3×3行列を持っているとしましょうhttp://stat.ethz.ch/R-manual/R-patched/library/stats/html/complete.cases.htm
:私はcomplete.casesとなるだろうcomplete.cases -functionは、ケースが完了したかどうかを示す真理値のベクトルを返します。
xの行のインデックスを作成し、すべての列を追加するように「、」を追加します。
6
na.omit()
は、行列(およびデータフレーム)を取り、NA値のない行のみを返します。これは、偽の行をさらに削除することによってさらに1ステップ進んでcomplete.cases()
になります。
> x <- data.frame(c(1,2,3), c(4, NA, 6))
> x
c.1..2..3. c.4..NA..6.
1 1 4
2 2 NA
3 3 6
> na.omit(x)
c.1..2..3. c.4..NA..6.
1 1 4
3 3 6