【发布时间】:2017-10-08 01:12:58
【问题描述】:
在 R 中,对于一个学校项目,我试图将使用 for 循环的函数转换为使用 apply 函数的函数。
我的函数模拟泊松分布,人们可以输入参数 n、lambda 和 m。 m 是模拟次数。然后它输出 m 个 Poisson 模拟的所有均值的平均值,并输出一个 2x2 的箱形图网格,以便用户可以显示具有不同参数值的多个图。贴在下面。
我努力想办法把它变成一个使用 apply 函数的函数。由于 apply 需要一个矩阵,我是否需要已经有一个矩阵 m.out 用于我的 for 循环函数中的某些参数值。另外,我不确定该函数将使用apply。我想取矩阵中每个值的平均值。
感谢任何帮助。
Venom<-function(n,l,m){
if(!is.numeric(c(n,l,m))){return("Error non-numeric value entered for at `enter code here`least one parameter")}
m.out<-NULL
for(i in 1:m){
data1<-rpois(n,l)
m.sim<-mean(data1)
m.out<-rbind(m.out, m.sim)
}
finalmean<-mean(m.out)
hist(m.out, main=paste("Poisson n=",n))
return(c(finalmean, m.out))
}
par(mfrow=c(2,2))
【问题讨论】: