1
我有以下問題:
我有4袋20個值在每個當中,並且我隨機從各4袋挑10的樣品:重新樣品
for (i in 1:20){
bag1[i] = sample(0:50,1)
bag2[i] = sample(0:50,1)
bag3[i] = sample(0:50,1)
bag4[i] = sample(0:50,1)
}
for (j in 1:10){
samp=sample(1:20,1)
bag1value=bag1value+bag1[samp]
bag2value=bag2value+bag2[samp]
bag3value=bag3value+bag3[samp]
bag4value=bag4value+bag4[samp]
}
現在,我想再次從第一個樣本中具有最大值值的包中抽取10個值。所以我可以這樣做:
maxbag=max(bag1value,bag2value,bag3value,bag4value)
if (maxbag==bag1value){
for (j1 in 1:10){
samp=sample(1:20,1)
secondsample=secondsample+bag1[samp]
} elseif (maxbag==bag2value){
samp=sample(1:20,1)
secondsample=secondsample+bag2[samp]
}
但我正在尋找一個更優雅的方式來做到這一點。
非常感謝!但是,當我抽樣時,我怎麼能這樣做,我爲每個袋子使用相同的「行」?例如,我決定採樣行[3],新樣本的輸出將是(14,48,26,10)。 – YefR
行李在列中,而不是行。你可以用樣品(袋子[,「bag1」],10)來說樣品「bag1」。' –
當選擇第二個樣品時,這個代碼在「tie」的情況下可能有問題。爲了避免這個問題,我想我們應該寫:secondsample < - sample(bags [,max.bag [1]],10)或max.bag <-max.bag [sample(1)]。 – YefR