Ich versuche herauszufinden, wie Simulationen mit variierenden Parameterwerten während der Verwendung von deSolve ausgeführt werden können. Ich bin sehr neu in R und habe Schwierigkeiten, die Fehler zu beheben, die ich bekomme. Ich habe einen sehr einfachen Satz von Differentialgleichungen erstellt und versuche eine For-Schleife aus einer gleichmäßigen Verteilung meiner Parameter zu ziehen.Laufende Simulationen variierende Parameterwerte in deSolve
My Model:
sir <- function(time, state, parameters) {
with(as.list(c(state, parameters)), {
dS <- -beta1 * (S * I)/N
dI <- beta1 * (S * I)/N - gamma1 * I
dR <- gamma1 * I
return(list(c(dS, dI, dR)))
})
}
init <- c(S = 99999, I = 1, R = 0)
Versuch for-Schleife:
outlist <- list()
plist <- cbind(beta1 = runif(30, min = .1, max = .9),
gamma1 = runif(30, min = .1, max = .9))
for(i in 1:nrow(plist))
outlist[[i]] <- ode(y = init, times = times, func = sir, parms = plist[i])
plot(out, outlist)
ich die folgende Störung erhalte:
Error in eval(expr, envir, enclos) : object 'beta1' not found
ich Hilfe sehr schätzen Sie bereitstellen können,
Sie zeigen nicht Ihren gesamten Code. Sie haben dem Parameter "beta1" in Ihrer Funktion keinen Wert zugewiesen, wie die Fehlermeldung impliziert. Sie sollten eine Zeile als 'beta1 <- Parameter [1]' in die Funktion vor dem 'with' einfügen. Ähnlich für 'gamma1' und' N'. Und wo sind die Objekte 'mal' und' N'? Und Sie brauchen '{' und '}' um den Körper der For-Schleife. Auch fehlt "out". Und jetzt gebe ich auf. – Bhas