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