En R, pour un projet d'école, j'essaie de transformer une fonction qui utilise une boucle for en une fonction qui utilise la fonction apply
.Activation de la fonction de boucle dans la fonction d'application
Ma fonction simule une distribution de Poisson où la personne peut entrer les paramètres n, lambda et m. m est le nombre de simulations. Il sort ensuite la moyenne de tous les moyennes des m simulations de Poisson et délivre une grille 2x2 de boîtes à moustaches afin que l'utilisateur puisse montrer plusieurs tracés avec différentes valeurs de paramètres. Il est posté ci-dessous.
J'ai du mal à comprendre comment transformer cela en une fonction qui utilise la fonction d'application. Comme appliquer nécessite une matrice, aurais-je besoin d'avoir déjà une matrice m.out pour certaines valeurs de paramètres de ma fonction de boucle for
. En outre, je ne suis pas sûr exactement ce que la fonction utiliserait apply
. Je voudrais prendre la moyenne de chaque valeur dans la matrice.
Toute aide est appréciée.
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))
D'accord merci pour la réponse, je l'apprécie. –