关于生成二项式随机变量值的代码
Code about generation of values for a binomial random variable
考虑 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)
}
是否正确?
如果不是,为什么不呢?
如果是,可以通过某种方式改进吗?
有一个函数 rbinom()
做同样的事情。如果你搭建这个功能是为了练习,我给你评语:
您应该考虑可能破坏您的功能的值。例如,我尝试用 p = 1
运行 它,但没有 return 结果。这应该是固定的。
在函数中添加注释以定义参数
Binomial <- function(n, p, ns){
# n is ....
# p is the probably of the event
# ns is ...
考虑 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)
}
是否正确?
如果不是,为什么不呢?
如果是,可以通过某种方式改进吗?
有一个函数 rbinom()
做同样的事情。如果你搭建这个功能是为了练习,我给你评语:
您应该考虑可能破坏您的功能的值。例如,我尝试用
p = 1
运行 它,但没有 return 结果。这应该是固定的。在函数中添加注释以定义参数
Binomial <- function(n, p, ns){ # n is .... # p is the probably of the event # ns is ...