我試圖從0到7(有替換)隨機抽樣7個數字,但受制於所選數字加起來爲7的約束。因此,例如,輸出0 1 1 2 3 0 0沒問題,但輸出1 2 3 4 5 6 7沒有。有沒有辦法使用示例命令添加約束?R:sample()命令受到約束
我打算使用replicate()函數與示例命令作爲參數,從示例命令返回N個不同的向量列表。我目前使用示例命令(沒有任何約束)的方式,我需要非常大,以獲得儘可能多的可能的矢量,總和爲7。我認爲必須有一個更簡單的方法來做到這一點!
這裏是我的那部分代碼:
x <- replicate(100000, sample(0:7, 7, replace=T))
理想情況下,我想在×10,000或100,000向量總和爲7,但需要一個巨大的N值來做到這一點。謝謝你的幫助。
這正是我原來的樣子。我拿了這個x變量的一個子集,但是N = 100000,這個子集還是很小的。該子集甚至非常小,N = 1000000,更不用說它需要一段時間才能運行! – 2014-09-20 17:09:22
你可能需要使用組合**如果**你想從所有可能的組合中得到一個統一的樣本... – Spacedman 2014-09-20 17:15:19
'partitions :: parts(7)'給你所有的分區(將整數分成一個總和),這可能是答案的組成部分... – 2014-09-20 17:31:34