R 不同参数值的模拟
我正在使用R 不同参数值的模拟,r,function,loops,dataframe,R,Function,Loops,Dataframe,我正在使用desolve库运行以下代码。现在,我想为不同的koff\u WT值运行相同的代码。请提出任何简单的方法 kon_WT = 1 koff_WT = 10 R_WT = 20 Complex <- function (t,y,parms){ with(as.list(y), { dC_WT <- koff_WT*RL_WT -kon_WT*R_WT*C_WT dRL_WT <- kon_WT*R
desolve
库运行以下代码。现在,我想为不同的koff\u WT
值运行相同的代码。请提出任何简单的方法
kon_WT = 1
koff_WT = 10
R_WT = 20
Complex <- function (t,y,parms){
with(as.list(y), {
dC_WT <- koff_WT*RL_WT -kon_WT*R_WT*C_WT
dRL_WT <- kon_WT*R_WT*C_WT - koff_WT*RL_WT #uM
dR_WT <- koff_WT*RL_WT -kon_WT*R_WT*C_WT
return(list(c(dC_WT, dRL_WT, dR_WT)))
})
}
times <- seq(0,1,0.01)
Out <- ode(y = c(C_WT = 10, RL_WT = 0, R_WT= R_WT),
times = times, func=Complex, parms=NULL)
Output <- data.frame(Out)
kon_WT=1
koff_WT=10
R_WT=20
Complex最好使用parms
参数将常量列表传递给Complex
函数。目前,它什么也没做
如果这样安排,您可以创建第二个函数,该函数将针对您喜欢的koff_WT
的任何值运行模拟:
库(deSolve)
Complex最好使用parms
参数将常量列表传递给Complex
函数。目前,它什么也没做
如果这样安排,您可以创建第二个函数,该函数将针对您喜欢的koff_WT
的任何值运行模拟:
库(deSolve)
Complex您可以使用函数定义函数Complex()
library(“deSolve”)
kon_WT=1
##koff_WT=10
R_WT=20
defComplex您可以使用函数定义函数Complex()
library(“deSolve”)
kon_WT=1
##koff_WT=10
R_WT=20
除杂
new_koffs <- c(0.5, 1, 1.5)
Output <- lapply(new_koffs, ode_frame)
str(Output)
#> List of 3
#> $ :'data.frame': 101 obs. of 4 variables:
#> ..$ time : num [1:101] 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 ...
#> ..$ C_WT : num [1:101] 10 8.27 6.95 5.91 5.08 ...
#> ..$ RL_WT: num [1:101] 0 1.73 3.05 4.09 4.92 ...
#> ..$ R_WT : num [1:101] 20 18.3 16.9 15.9 15.1 ...
#> $ :'data.frame': 101 obs. of 4 variables:
#> ..$ time : num [1:101] 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 ...
#> ..$ C_WT : num [1:101] 10 8.27 6.96 5.94 5.13 ...
#> ..$ RL_WT: num [1:101] 0 1.73 3.04 4.06 4.87 ...
#> ..$ R_WT : num [1:101] 20 18.3 17 15.9 15.1 ...
#> $ :'data.frame': 101 obs. of 4 variables:
#> ..$ time : num [1:101] 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09 ...
#> ..$ C_WT : num [1:101] 10 8.27 6.97 5.96 5.17 ...
#> ..$ RL_WT: num [1:101] 0 1.73 3.03 4.04 4.83 ...
#> ..$ R_WT : num [1:101] 20 18.3 17 16 15.2 ...
library("deSolve")
kon_WT = 1
## koff_WT = 10
R_WT = 20
defComplex <- function(koff) {
return( function (t, y, parms) {
with(as.list(y), {
dC_WT <- koff*RL_WT - kon_WT*R_WT*C_WT
dRL_WT <- kon_WT*R_WT*C_WT - koff*RL_WT #uM
dR_WT <- koff*RL_WT - kon_WT*R_WT*C_WT
return(list(c(dC_WT, dRL_WT, dR_WT)))
})
})
}
resC_WT <- function(iC_WT) {
imes <- seq(0,1,0.01)
Out <- ode(y = c(C_WT = iC_WT, RL_WT = 0, R_WT= R_WT), times = times, func=Complex, parms=NULL)
Output <- data.frame(Out)
return(Output[nrow(Output), ])
}
vectorC_WT <- 1:11
Complex <- defComplex(koff=10)
sapply(vectorC_WT, FUN=resC_WT)
Complex <- defComplex(koff=15)
sapply(vectorC_WT, FUN=resC_WT)