In R, für ein Schulprojekt, versuche ich eine Funktion, die eine for-Schleife verwendet, zu einer Funktion, die die apply
-Funktion verwendet.Für die Loop-Funktion in Apply-Funktion drehen
Meine Funktion simuliert eine Poisson-Verteilung, bei der die Person die Parameter n, Lambda und m eingeben kann. m ist die Anzahl der Simulationen. Es gibt dann den Mittelwert aller Mittel der m Poisson-Simulationen aus und gibt ein 2x2-Gitter von Box-Plots aus, so dass der Benutzer mehrere Plots mit verschiedenen Parameterwerten zeigen kann. Es ist unten veröffentlicht.
Ich kämpfe um herauszufinden, wie man dies in eine Funktion, die die Funktion anwenden verwenden. Da apply eine Matrix benötigt, müsste ich für bestimmte Parameterwerte aus meiner Loop-Funktion for
bereits eine Matrix m.out haben. Auch bin ich mir nicht sicher, was genau die Funktion wäre apply
. Ich möchte den Mittelwert jedes Wertes in der Matrix nehmen.
Jede Hilfe wird geschätzt.
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))
Okay danke für die Antwort, ich schätze es. –