如何根据r中的概率生成随机数
how to generate a random number based on probability in r
我正在尝试创建一个马尔可夫链,并希望 select 根据概率在列表中编号,可以是任何 number.for 例如,l 代表从 1-1 的概率1-2 和 1-3。 m 表示 2-1、2-2 和 2-3 的概率。 n代表从3-1,3-2,3-3的概率。
l=c(1/3,1/3,1/3)
m=c(2/5,3/5,0)
n=c(1/7,0,6/7)
序列从1开始到3结束
我可能会根据不同的机会生成不同的数字列表。
例如 (1,3),(1,2,2,1,3)(1,2,2,1,1,3)等
有谁知道R中是否有函数可以根据概率生成数字?
非常感谢。
如果您想从一个简单的函数开始,该函数以给定概率 myprob
从一系列数字 mynumbers
中进行采样,您可以使用基础 R sample
函数:
mynumbers = c(1,2) #you numbers to sample from
myprob = c(.25, .75) #your probabilities
d = sample(mynumbers,
size = 1000, #1000 times sampled from `mynumbers`
replace = T,
prob = myprob)
table(d) #This should show you the approximate probability of `myprob`
这有帮助吗?
我正在尝试创建一个马尔可夫链,并希望 select 根据概率在列表中编号,可以是任何 number.for 例如,l 代表从 1-1 的概率1-2 和 1-3。 m 表示 2-1、2-2 和 2-3 的概率。 n代表从3-1,3-2,3-3的概率。
l=c(1/3,1/3,1/3)
m=c(2/5,3/5,0)
n=c(1/7,0,6/7)
序列从1开始到3结束 我可能会根据不同的机会生成不同的数字列表。 例如 (1,3),(1,2,2,1,3)(1,2,2,1,1,3)等
有谁知道R中是否有函数可以根据概率生成数字? 非常感谢。
如果您想从一个简单的函数开始,该函数以给定概率 myprob
从一系列数字 mynumbers
中进行采样,您可以使用基础 R sample
函数:
mynumbers = c(1,2) #you numbers to sample from
myprob = c(.25, .75) #your probabilities
d = sample(mynumbers,
size = 1000, #1000 times sampled from `mynumbers`
replace = T,
prob = myprob)
table(d) #This should show you the approximate probability of `myprob`
这有帮助吗?