R:从概率密度分布生成数据

标签 r random probability-density

假设我有一个简单的数组,具有相应的概率分布。

library(stats)    
data <- c(0,0.08,0.15,0.28,0.90)
pdf_of_data <- density(data, from= 0, to=1, bw=0.1)

有没有办法可以使用相同的分布生成另一组数据。由于操作是概率性的,因此它不再需要与初始分布完全匹配,而只是从中生成。

我确实成功地自己找到了一个简单的解决方案。谢谢!

最佳答案

最好的选择是生成经验累积密度函数,近似其倒数,然后转换输入。

复合表达式看起来像

random.points <- approx(
  cumsum(pdf_of_data$y)/sum(pdf_of_data$y),
  pdf_of_data$x,
  runif(10000)
)$y

产量

hist(random.points, 100)

enter image description here

关于R:从概率密度分布生成数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32871602/

相关文章:

python - 从pdf生成概率?

r - 获取命名包中函数的函数参数

c# - 无法在 C# 中创建数组

python - n 维数据的估计经验分布的累积概率

c++ - 每次选择随机单元格和随机值的数独求解的回溯逻辑

c# - 生成随机加权值

python - 如何根据自定义概率密度函数(Python)生成随机数?

R-3.2.1 无法加载共享对象 internet.so

r - 如何获得匹配的字符?

r - 使用 "parallel"包在 R 中进行并行处理