考虑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)
}
对吗?
如果没有,为什么不呢?
如果是,可以通过某种方式进行改进吗?
答案 0 :(得分:1)
有一个函数rbinom()
正在执行相同的操作。如果您将此功能用于实践,那么我为您提供一条评论:
您应该考虑可能破坏功能的值。例如,我尝试使用p = 1
运行它,但没有返回结果。这应该得到解决。
在函数中添加注释以定义参数
Binomial <- function(n, p, ns){
# n is ....
# p is the probably of the event
# ns is ...