如何在使用 Gillespie SSA 模拟开始后初始化状态变量?

问题描述

我一直在尝试使用 R 中的 GillespieSSA 包运行模拟。我的模型有 3 个状态变量,其中 2 个的初始值为 1,最后一个,我想在一个时间步之后初始化模拟的开始。

x0 <- c(Pi = 1,Pj = 0,I = 1)

当使用 deSolve 运行相同的模拟时,这里有人建议我使用事件初始化最后一个状态变量,效果很好!

eventdat <- data.frame(var = "Pj",time = 10,value = 1,method = "rep")
results <- lsoda(N0,TT,Model,p = parms,events=list(data=eventdat),verbose = TRUE)

我尝试在 ssa() 函数中实施相同的策略,但没有成功。

# method = "OTL"; optimised tau leap
TestOutput2 <- ssa(x0,a,nu,parms1,method = "OTL",simName,verbose = TRUE,consoleInterval = 0,censusInterval = 0.1,maxWallTime = 30,ignoreNegativeState = TRUE)
...
Error in ssa(x0,method,events = list(data = eventdat),: 
  unused argument (events = list(data = eventdat))

我怀疑 ssa() 函数无法识别事件,因为 ssa() 是如何实现 tau 跳跃的?也就是说,我想知道是否有人对如何使用 ssa() 函数在模拟开始后初始化一个状态变量有任何想法?

任何帮助将不胜感激!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...