使用for循环输出R中的方程
我现在有一系列的方程式,用来模拟生物系统的隔间。我希望能够在for循环之外设置一个变量n,用于我希望模型具有的隔室数量,然后具有许多dn.dt的函数输出。我很确定我必须在函数的末尾将它们作为向量返回,但这是我唯一的线索。下面是当n=3时我想要的基本函数使用for循环输出R中的方程,r,function,for-loop,R,Function,For Loop,我现在有一系列的方程式,用来模拟生物系统的隔间。我希望能够在for循环之外设置一个变量n,用于我希望模型具有的隔室数量,然后具有许多dn.dt的函数输出。我很确定我必须在函数的末尾将它们作为向量返回,但这是我唯一的线索。下面是当n=3时我想要的基本函数 rate <- function(time, state, parms){ with(as.list(c(state,parms)),{ dX.dt <- do stuff d1.dt <- do diffe
rate <- function(time, state, parms){
with(as.list(c(state,parms)),{
dX.dt <- do stuff
d1.dt <- do different stuff
d2.dt <- do same stuff as d1.dt
d3.dt <- do same stuff as d1.dt
return(list(c(dX.dt, d1.dt, d2.dt, d3.dt)))})}
rate我想您正在寻找replicate
,您可以根据需要的复制次数传递n
rate <- function(time, state, parms, n){
dX.dt <- with(as.list(c(state,parms)), foo(....))
dn.dt <- with(as.list(c(state,parms)), replicate(n, foobar(...), simplify = FALSE)
return(c(dX.dt, dn.t))))}
您的问题目前还不是特别清楚。当你说时,做与d1.dt相同的事情。这是一个随机变化的东西,还是它用一组不同的状态
和参数
做了一些事情。我认为您正在寻找的是复制
,如果是这种情况,将发布一个答案是的,d1.dt到dn.dt都将使用相同的状态和参数执行相同的函数。我只是不想输入与主要问题无关的多余代码。系统中不同方程之间的唯一区别是dX.dt将是其他隔室的组合。例如:dX.dt它们是根据伪代码执行操作的函数(您需要定义它们)