【问题标题】:I have the probability distribution of a random variable, how do I generate a random set of 10 numbers based on this distribution?我有一个随机变量的概率分布,如何根据这个分布生成一组 10 个数字的随机数?
【发布时间】:2021-05-31 10:39:45
【问题描述】:

python中有一个答案: Generate random variables from a probability distribution

似乎他们正在使用一些内置的分布函数(即 exp)。我已经查看了 R 中的随机生成器函数,例如 runif,但似乎我需要自己创建具有此概率分布的函数,因为我拥有的概率分布不是标准的。

例如分布:

distribution = data.table(x = c(1,2,3,4,5,6,7,8,9,10), p = c(0.1,0.1,0.2,0.05,0.05,0.1,0.1,0.2,0.05,0.05))
> distribution
     x    p
 1:  1 0.10
 2:  2 0.10
 3:  3 0.20
 4:  4 0.05
 5:  5 0.05
 6:  6 0.10
 7:  7 0.10
 8:  8 0.20
 9:  9 0.05
10: 10 0.05

【问题讨论】:

    标签: r probability stat


    【解决方案1】:

    我会这样做:

    sample(distribution$x, size = n, replace = TRUE, prob = distribution$p)
    

    其中 size = n 定义要采样的元素数。

    【讨论】:

      猜你喜欢
      • 2017-12-20
      • 2020-07-02
      • 2011-03-07
      • 1970-01-01
      • 1970-01-01
      • 2011-03-31
      • 2019-09-21
      • 1970-01-01
      • 2019-12-17
      相关资源
      最近更新 更多