0
我試圖執行一個列表resample使用for循環在R中生成一個數據框,記錄每個試驗的輸出。錯誤輸出文件中的for循環在r
我得到的for循環到沒有錯誤的工作,但我肯定我犯了一個錯誤的地方,因爲我不應該得到的第j個條目,我得到的可能結果的結果。
這裏是我如何生成我的列表:
set1=rep(0,237) # repeat 0's 237 times
set2=rep(1,33) # repeats 1s 33 times
aa=c(set1,set2) # put the two lists together
table(aa) # just a test count to make sure I have it set up right
現在我要帶大小j的隨機樣本集合了AA和記錄多少0和1的我一次比一次我執行這項任務(讓我們說n次試驗)。
下面是我已經將它設置:
n=1000
j=27
output=matrix(0,nrow=2,ncol=n)
for (i in 1:n){
trial<-sample(aa,j,replace=F)
counts=table(trial)
output[,i]=counts
}
檢查輸出,
table(output[1,])
# 17 18 19 20 21 22 23 24 25 26 27
1 1 9 17 46 135 214 237 205 111 24
table(output[2,])
# 1 2 3 4 5 6 7 8 9 10 27
111 205 237 214 135 46 17 9 1 1 24
我不認爲我正在從分佈爲j
個值正確的答案(中這種情況27)對於期望的0或1的數目(應該接近於0,與它返回的高數目相反)。
任何有關我哪裏出錯的建議將不勝感激。
謝謝你,幫助理解錯誤。 – user3285853
呵呵,rhyper確實是黑魔法!再次感謝羅蘭。 – user3285853
@ user3285853沒有魔法參與。只是基本的統計。 – Roland