首页 > 解决方案 > 如何在R中绘制泊松密度曲线?

问题描述

我需要证明泊松过程中的事件数量是由参数 lambda * t 的泊松分布分布的。这是泊松过程生成器:

 ppGen <- function(lambda, maxTime){
      taos <- taosGen(lambda, maxTime)
      pp <- NULL
      for(i in 1:maxTime){
        pp[i] <- sum(taos <= i)
      }
      return(pp)
    }

在这里,我尝试复制该过程 1000 次并矢量化每个实现中的总出现次数:

 d <- ppGen(0.5,100)
    tail(d,n=1)
    reps <- 1000
    x1 <- replicate(reps, tail(ppGen(0.5,100), n=1))
    hist(x1)

这是直方图:

在此处输入图像描述

在这里,我试图用参数 lambda * t 绘制理论泊松密度曲线:

xfit<-seq(1,100,length=100)
yfit<-dpois(xfit,lambda = 0.5*100)

lines(xfit,yfit)

但曲线不会出现在直方图附近的任何地方。任何人都可以建议正确的方法吗?

标签: r

解决方案


也许你可以尝试curve如下

x <- rpois(1000, 0.5 * 100)
dp <- function(x, lbd = 0.5 * 100) dpois(x, lambda = lbd)
curve(dp, 0, 100)
hist(x, freq = FALSE, add = TRUE)

在此处输入图像描述


推荐阅读