0
deSolveの使用中にさまざまなパラメータ値をシミュレーションする方法を理解しようとしています。私はRに非常に新しいですし、私が得ているエラーのトラブルシューティングが難しいです。私は非常に単純な微分方程式を作成し、私のパラメータの一様分布からforループサンプリングを実行しようとしています。シミュレーションでさまざまなパラメータ値を実行する
マイモデル:forループで
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)
試み:、私は非常にあなたが提供することができます任意の助けに感謝
:Error in eval(expr, envir, enclos) : object 'beta1' not found
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)
私は、次のエラーを取得しています
あなたのコードをすべて表示しているわけではありません。エラーメッセージに示されているように、関数内のパラメータ 'beta1'に値を割り当てていません。関数には、 'with'の前に' beta1 < - parameter [1] 'として行を挿入する必要があります。 'gamma1'と' N'と同様です。オブジェクト 'times'と' N'はどこにありますか?そして 'for'ループの本体の周りに' {'と'} 'が必要です。また欠落している。そして今私はあきらめる。 – Bhas