首页 > 解决方案 > 如何在 R 中处理泊松分布

问题描述

考虑 lambda=1 的泊松分布x1, x2, ... ~ pois(1)。我想编写一个函数,它接收一个数字作为输入(将其视为 a)并为我们提供最小的 n(最小 n)作为输出,这对于sum(xi)>=a, i=1:n. 我认为在这种情况下使用while循环可能很好(但我不确定这是最好的方法)。也许可以使用其他循环(如for循环)来完成。我不知道如何处理在 R 中包含泊松分布的这种情况?

标签: rloopsdistributionpoisson

解决方案


循环很while简单,可以编写代码。它为sum while累加rpoisin的值,计算 in 的迭代次数。ss < an

minpois <- function(a){
  n <- 0L
  s <- 0L
  while(s < a) {
    n <- n + 1L
    s <- s + rpois(1L, lambda = 1)
  }
  n
}

set.seed(2020)
minpois(10)
#[1] 12

推荐阅读