【发布时间】:2020-04-14 15:11:00
【问题描述】:
我尝试将 df 对象作为我的输出没有成功(这样我就可以对每个图表进行子集化/自定义)。我还读到可以使用“out”函数提取结果,但我还没有让它工作。有人可以帮我解决这个问题吗?
'''
library(simecol)
library(latticeExtra)
Figure_7B <- odeModel(
main = function(time, init, parms) {
with(as.list(c(init, parms)),{
# Computing derivatives
dm <- -k1*eT*m
dmP <- k1*eT*m
dE <- -k2*E*mP
dEP <- k2*mP*E + (k3*EP)*(dE - TE - S) + k3r*TE
dDE <- +k3*EP*DE - k3r*TE
dTE <- (k3*EP)*(DE - TE - S) - k3r*TE - k7*TE*A
dME <- k4*TE - d1*ME
dDA <- +k5*EP*DA - k5r*TA
dTA <- k5*EP*DA - k5r*TA
dMA <- (k6*EP)/(EP + k5) - d2*MA
dA <- k8*MA + k7*TE*A + d3*A
dS <- k7*TE*A
return(list(c(dm, dmP, dE, dEP, dDE, dTE, dME, dDA, dTA, dMA, dA, dS)))
})
},
# Set parameters or constants
parms = c(k1 = 8.3e-3,
eT = 100,
k2 = 1.28e5,
k3 = 1e5,
k3r = 5e-2,
k4 = 6.89e-15,
k5 = 0.5e-6,
k5r = 5e-2,
k6 = 1.03e-15,
k7 = 1e5,
k8 = 0.25,
d1 = 8.89e-4,
d2 = 2.36e-4,
d3 = 2.36e-4),
# Set integrations times
times = c(from=0, to=10, by = 0.25),
# Set initial state
init = c(
m = 130e-7,
mP = 0,
E = 130e-7,
EP = 0,
DE = 3.32e-11,
TE = 0,
ME = 1e-12,
DA = 3.32e-11,
TA = 0,
MA = 0,
A = 0,
S = 0),
solver = "lsoda"
)
'''
'''
library(deSolve)
Figure_7B <- sim(Figure_7B)
plot(Figure_7B)
'''
【问题讨论】:
-
你可以把
function(time, init, parms)改成function(m, init, parms) -
不,我不这么认为。为什么要这样做?