我在R中有一个矩阵,我想从每行中抽取一个随机样本。我的一些数据是在NA中,但是当采用随机样本时,我不希望NA成为采样的选项。我怎么做到这一点?忽略样本函数中的值或NA
例如,
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 2012-04-02 20:32:23