问题描述
我一直在尝试使用 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 (将#修改为@)