Rでは、学校プロジェクトでは、forループを使用する関数をapply
関数を使用する関数に変更しようとしています。ループ関数を適用関数に変換する
私の関数は、人がパラメータn、lambda、mを入力できるポアソン分布をシミュレートします。 mはシミュレーション数です。次に、m個のポアソン・シミュレーションのすべての手段の平均を出力し、ユーザが異なるパラメータ値を有する複数のプロットを表示できるように、2x2グリッド・ボックス・プロットを出力する。それは以下に掲載されています。
私は、これをapply関数を使用する関数にする方法を理解するのに苦労しています。 applyには行列が必要なので、私は既にfor
ループ関数の特定のパラメータ値に対して行列m.outを持つ必要があります。また、私は関数が何を使用するのか正確にはわかりません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))
回答いただきありがとうございます。 –