XVSIRS <- function(times, init, parms) {
derivs <- function(t, init, parms) {
with(as.list(c(init, parms)), {
dS1 <- deltaR*R1 + deltaV*V1 - beta*(1-theta1)*S1*(I1 + I2) -theta1*S1
dI1 <- beta*(1-theta1)*S1*(I1+I2) - gamma*I1
dR1 <- gamma*I1 - deltaR*R1
dV1 <- theta1*S1 - deltaV*V1
dS2 <- deltaR*R2 + deltaV*V2 - beta*(1-theta2)*S2*(I1 + I2) -theta2*S2
dI2 <- beta*(1-theta2)*S2*(I1+I2) - gamma*I2
dR2 <- gamma*I2 - deltaR*R2
dV2 <- theta2*S2 - deltaV*V2
list(c(dS1,dI1,dR1,dV1, dS2,dI2,dR2,dV2))})}
result <- ode(y=init, times = times, func = derivs, parms=parms)
as.data.frame(result)}