关于二项式随机变量值生成的代码

时间:2019-04-05 01:39:52

标签: r statistics simulation verification

考虑r中的以下代码以生成二项式随机变量的值。

Binomial<-function(n,p,ns)
{
  S <- rep(ns)
  for (i in 1:ns)
  {
    k <-0
    produ<-runif(1)
    while (produ >=(1-p)^n)
    {
      produ <- produ*runif(1)
      k <-k+1
    }
    S[i] <- k
  }
  return(S)
}

对吗?

如果没有,为什么不呢?

如果是,可以通过某种方式进行改进吗?

1 个答案:

答案 0 :(得分:1)

有一个函数rbinom()正在执行相同的操作。如果您将此功能用于实践,那么我为您提供一条评论:

  • 您应该考虑可能破坏功能的值。例如,我尝试使用p = 1运行它,但没有返回结果。这应该得到解决。

  • 在函数中添加注释以定义参数

    Binomial <- function(n, p, ns){
    # n is ....
    # p is the probably of the event
    # ns is ...