0

我目前有一系列方程式,用于对生物系统的隔室进行建模。我希望能够在 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)))})}

我该怎么做呢?

4

1 回答 1

0

我想你在之后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))))}

我不确定这些with(as.list(c(state,parms))是否必要,但如果没有一个简单的可重现示例,我无法确定。

于 2012-10-29T23:54:25.900 回答