1
希望这有一个简单的答案,我只是无法找到:如何使用随机选择的列索引向量从矩阵中选择多个变量?
我想写一个模拟,将比较不同的行子集(主体)和列(变量)的统计程序数量,的大矩阵。
使用主题ID编号的sample()
相当容易实现行的子集,但我在列上遇到了更多麻烦。
本质上,我希望能够做的是创建一个随机的列索引数字样本,然后将用它来创建一个新的矩阵。什么是让我最接近到目前为止是:
testmat <- matrix(rnorm(10000),nrow=1000,ncol=100)
column.ind <- sample(3:100,20)
teststr <- paste("testmat[,",column.ind,"]",sep="",collapse=",")
这使我对每个采样索引号testmat[,column.ind]
的字符串。有什么方法可以轻松地将它插入到cbind()
函数中来创建一个新的矩阵?有没有其他明显的方式我错过了?
我已经可以使用一个循环(即反复使用cbind(matrix,newcolumn)
)来完成它,但这相当慢,因为我使用的矩阵非常大,而且我将多次执行此操作。我希望有一个更加优雅和快捷的联机解决方案。
哈!这工作。我知道这会很容易,我只是在空白。 :) 我会接受你的答案,当它让我......谢谢! – Adam 2010-07-19 14:22:51