私は各行から単一のランダムサンプルを取ってみたいというRの行列を持っています。私のデータの一部はNAにありますが、ランダムサンプルを取るときには、NAをサンプリングのオプションにしたくありません。どうすればこれを達成できますか?例えばサンプル関数の値またはNAsを無視する
、
a <- matrix (c(rep(5, 10), rep(10, 10), rep(NA, 5)), ncol=5, nrow=5)
a
[,1] [,2] [,3] [,4] [,5]
[1,] 5 5 10 10 NA
[2,] 5 5 10 10 NA
[3,] 5 5 10 10 NA
[4,] 5 5 10 10 NA
[5,] 5 5 10 10 NA
私は出力にこの行列に私は
b <- matrix(apply(a, 1, sample, size=1), ncol=1)
b
[,1]
[1,] NA
[2,] NA
[3,] 10
[4,] 10
[5,] 5
代わりに、私はNAが出力可能なことをしたくない得る別のマトリックスをサンプル関数を適用出力を次のようにしたいとします:
b
[,1]
[1,] 10
[2,] 10
[3,] 10
[4,] 5
[5,] 10
はい、私はその障害に気付きました。私はこれからサンプルを取り出し、より多くのサンプルを取るより多くの複製を生成するためにそれを使用します。私は回避策を講じましたが、あなたのソリューションは私より優れています。 – Kevin