我需要模擬n = 100的100個數據集。我想是這樣的:R中的模擬
x1 = NULL
for (i in 1:100){
set.seed(i)
x1[i] <- sample(1:4, 100, replace=TRUE)
}
但我不斷收到錯誤說: 在X1 [I] < - 樣品(1:4,100,取代= TRUE): 數量的項目替換的是不是一個替換長度的倍數
我很難過。任何幫助,將不勝感激。謝謝!
我需要模擬n = 100的100個數據集。我想是這樣的:R中的模擬
x1 = NULL
for (i in 1:100){
set.seed(i)
x1[i] <- sample(1:4, 100, replace=TRUE)
}
但我不斷收到錯誤說: 在X1 [I] < - 樣品(1:4,100,取代= TRUE): 數量的項目替換的是不是一個替換長度的倍數
我很難過。任何幫助,將不勝感激。謝謝!
您也可以使用這樣的「複製」功能:
x1 <- replicate(100, sample(1:4,100,replace=T))
split(x1, col(x1))
如果你有興趣,有一個很好的電子書稱爲「R基本原理&圖形」適用於R的初學者。
所有你需要做的是改變x1[i]
到x1[[i]]
保羅
謝謝!它的工作......我對R – user3578536
比較陌生這會讓代碼工作,但這不是最好的方法。您也沒有解釋爲什麼這會解決問題或爲什麼最初的嘗試不起作用。 – Dason
嗯,我不是那個回答這個問題的人,我是R的新手,但通過查看它,它將100個數據集保存爲不同的列表,因此它們需要[[]]而不是[[]]這就是代碼工作的原因。最初的嘗試沒有奏效,因爲我用[i]而不是[[i]]索引,這將適用於R中的列表。 – user3578536
聲明爲列表並繼續追加。 'x1 < - list()'。並在循環'x1 [[i]] < - sample(1:4,100,replace = TRUE)''循環內。使用'x [[i]]'檢索它' – sriramn