複数の列と行を持つ巨大なマトリックスがあります。数値とNAが含まれています。
これが私の問題です。NAのみで構成される行がいくつかあり、基本的に空です。これらの行は、今後の計算に干渉しますが、単に削除することもできません。
今私の質問に:
これらの行のNAを同じ単一の値に置き換えるためにマトリックスで使用できるクイック関数はありますか(たとえば、0または99、これは関係ありません!)?しかし、-重要-wicheが空の行のみ(NAのみ)?
すべてNAである行にインデックスを付けてから、それらを割り当てに置き換える必要があります。あなたがこれを達成することができますis.na()
、rowSums()
とncol()
。私はそれらをすべて以下に書きましたので、あなたは働いているのを見ることができます:
x <- rbind(c(1, 2, NA), c(NA, NA, NA), c(NA, 5, 6), c(7, NA, 9))
x
is.na(x)
rowSums(is.na(x))
ncol(x)
# This is the single line that does all the work
x[rowSums(is.na(x)) == ncol(x),] <- 99
x
出力:
[,1] [,2] [,3]
[1,] 1 2 NA
[2,] NA NA NA
[3,] NA 5 6
[4,] 7 NA 9
[,1] [,2] [,3]
[1,] FALSE FALSE TRUE
[2,] TRUE TRUE TRUE
[3,] TRUE FALSE FALSE
[4,] FALSE TRUE FALSE
[1] 1 3 1 1
[1] 3
[,1] [,2] [,3]
[1,] 1 2 NA
[2,] 99 99 99
[3,] NA 5 6
[4,] 7 NA 9
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加