使用for循环输出R中的方程

使用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

我现在有一系列的方程式,用来模拟生物系统的隔间。我希望能够在for循环之外设置一个变量n,用于我希望模型具有的隔室数量,然后具有许多dn.dt的函数输出。我很确定我必须在函数的末尾将它们作为向量返回,但这是我唯一的线索。下面是当n=3时我想要的基本函数

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它们是根据伪代码执行操作的函数(您需要定义它们)