## Simulation
## No covariates, constant time intervals between primary periods, and
## no secondary sampling periods
set.seed(3)
M <- 50
T <- 5
lambda <- 1
gamma <- 0.5
omega <- 0.8
p <- 0.7
y <- N <- matrix(NA, M, T)
S <- G <- matrix(NA, M, T-1)
N[,1] <- rpois(M, lambda)
for(t in 1:(T-1)) {
S[,t] <- rbinom(M, N[,t], omega)
G[,t] <- rpois(M, gamma)
N[,t+1] <- S[,t] + G[,t]
}
y[] <- rbinom(M*T, N, p)
# Prepare data
umf <- unmarkedFramePCO(y = y, numPrimary=T)
summary(umf)
# Fit model and backtransform
(m1 <- pcountOpen(~1, ~1, ~1, ~1, umf, K=10))
(lam <- coef(backTransform(m1, "lambda"))) # or
lam <- exp(coef(m1, type="lambda"))
gam <- exp(coef(m1, type="gamma"))
om <- plogis(coef(m1, type="omega"))
p <- plogis(coef(m1, type="det"))
# Calculate population size at each time period
N.hat <- matrix(NA, M, T)
N.hat[,1] <- lam
for(t in 2:T) {
N.hat[,t] <- om*N.hat[,t-1] + gam
}
rbind(N=colSums(N), N.hat=colSums(N.hat))
Run the code above in your browser using DataLab