|
| 1 | +##' @name strains_pomp |
| 2 | +##' @rdname strains |
| 3 | +##' @include strains.R |
| 4 | +##' @param x genealogy in \pkg{phylopomp} format (i.e., an object that inherits from \sQuote{gpgen}). |
| 5 | +##' @details |
| 6 | +##' \code{strains_pomp} constructs a \sQuote{pomp} object containing a given set of data and the Strains model. |
| 7 | +##' @return |
| 8 | +##' \code{strains_pomp} returns a \sQuote{pomp} object. |
| 9 | +##' @importFrom pomp pomp onestep |
| 10 | +##' @export |
| 11 | +strains_pomp <- function (x, Beta1, Beta2, Beta3, gamma, psi1, psi2, psi3, S0, I1_0, I2_0, I3_0, R0, t0 = 0) |
| 12 | +{ |
| 13 | + x |> gendat(obscure=FALSE) -> gi |
| 14 | + ic <- as.integer(c(S0,I1_0,I2_0,I3_0,R0)) |
| 15 | + names(ic) <- c("S0","I1_0","I2_0","I3_0","R0") |
| 16 | + if (any(ic < 0)) |
| 17 | + pStop(paste(sQuote(names(ic)),collapse=","), |
| 18 | + " must be nonnegative integers.") |
| 19 | + pomp( |
| 20 | + data=NULL, |
| 21 | + t0=gi$nodetime[1L], |
| 22 | + times=gi$nodetime[-1L], |
| 23 | + params=c( |
| 24 | + Beta1=Beta1,Beta2=Beta2,Beta3=Beta3, |
| 25 | + gamma=gamma, |
| 26 | + psi1=psi1,psi2=psi2,psi3=psi3, |
| 27 | + ic,N=sum(ic) |
| 28 | + ), |
| 29 | + userdata=gi, |
| 30 | + rinit="strains_rinit", |
| 31 | + rprocess=onestep("strains_gill"), |
| 32 | + dmeasure="strains_dmeas", |
| 33 | + statenames=c( |
| 34 | + "S","I2","I2","I3","R", |
| 35 | + "ll","ell1","ell2","ell3","node" |
| 36 | + ), |
| 37 | + paramnames=c( |
| 38 | + "Beta1","Beta2","Beta3","gamma", |
| 39 | + "psi1","psi2","psi3", |
| 40 | + "S0","I1_0","I2_0","I3_0","R0","N" |
| 41 | + ), |
| 42 | + PACKAGE="phylopomp" |
| 43 | + ) |
| 44 | +} |
0 commit comments