0
我有概率的一個名爲麻木載體,這樣Summatory矢量元素
就像你看到的,這個向量元素是1的總和,我不得不產生0-1之間的隨機數1,讓這個載體不克服這個隨機數,例如元素:
隨機數生成:0.01 我會得到水元素,因爲水是0.09和0.11之間。我附上一個生動的例子
我不知道如何得到這個概率的元素。
我有概率的一個名爲麻木載體,這樣Summatory矢量元素
就像你看到的,這個向量元素是1的總和,我不得不產生0-1之間的隨機數1,讓這個載體不克服這個隨機數,例如元素:
隨機數生成:0.01 我會得到水元素,因爲水是0.09和0.11之間。我附上一個生動的例子
我不知道如何得到這個概率的元素。
我不打算在鍵入您的所有數據,所以我會用一個比較的,小例子:
set.seed(2017)
probabilidad = runif(5)
probabilidad= probabilidad/sum(probabilidad)
names(probabilidad) = LETTERS[1:5]
probabilidad
A B C D E
0.30918062 0.17969799 0.15695684 0.09655216 0.25761238
sum(probabilidad)
[1] 1
我們可以用cumsum
建立一個向量,將你想要的選擇。但是cumsum
會給出區域的上限,我們想要下限,所以我們稍微調整一下輸出。
Test = c(0, cumsum(probabilidad)[-length(probabilidad)])
names(Test) = names(probabilidad)
Test
A B C D E
0.0000000 0.2533938 0.5129561 0.5922145 0.8222417
現在你可以很容易地測試隨機數對分佈。
(Selector = runif(1))
[1] 0.5190959
names(probabilidad)[max(which(Selector > Test))]
[1] "C"
非常感謝! :))))) – Draggluon
歡迎來到SO。請避免發佈數據圖片。有一個[看看這個鏈接](https://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example)併發佈一個可重現的例子。這會讓別人更容易幫助你。 – Sotos