R 错误:索引超出取值变量子集的范围
我对JAGS还不太熟悉。 我的数据包括15周内5条溪流的幼虫计数(每周两次观察和溪流)。为此,我使用了一个包含150行、2列和15个条目(y)的数组。我的目标是借助一个开放的N-混合模型来估计每周的ω。 我还尝试了使用未标记的包,但无法理解如何使用pcountopen()R 错误:索引超出取值变量子集的范围,r,jags,unmarked-package,R,Jags,Unmarked Package,我对JAGS还不太熟悉。 我的数据包括15周内5条溪流的幼虫计数(每周两次观察和溪流)。为此,我使用了一个包含150行、2列和15个条目(y)的数组。我的目标是借助一个开放的N-混合模型来估计每周的ω。 我还尝试了使用未标记的包,但无法理解如何使用pcountopen() sink(“model1.txt”) 猫(“ 模型{ #前科 lambda~dunif(0,5) ω~dunif(0,1) p~dunif(0,1) #可能性 #真实丰度的生物(生态)模型(状态模型) 对于(i in 1:R)
sink(“model1.txt”)
猫(“
模型{
#前科
lambda~dunif(0,5)
ω~dunif(0,1)
p~dunif(0,1)
#可能性
#真实丰度的生物(生态)模型(状态模型)
对于(i in 1:R){#loop over R站点(150)
N[i,1]~dpois(lambda)#丰度
对于(2:15中的k){#循环数周(15)
N[i,k]~dpois(ω[k]*N[i,k-1])
#重复计数的观测模型
对于(j in 1:T){#循环时间重复(2)
y[i,j,k-1]~dbin(p,N[i,k-1])#检测
}#j
}#k
}#我
}
,fill=TRUE)
水槽()
#捆绑并汇总数据集
R=nrow(y)#场地=150
T=ncol(y)#每个观察日的重复次数=2次
从快速浏览中获取数据;你在一个欧米茄上有一个先验知识,但随后索引到k;也许可以尝试使用for(1:K中的i){omega[i]~dunif(0,1)}
作为优先级?
sink("model1.txt")
cat("
model {
# Priors
lambda ~ dunif(0, 5)
omega ~ dunif(0, 1)
p ~ dunif(0, 1)
# Likelihood
# Biological (ecological) model for true abundance (State model)
for (i in 1:R) { #loop over R sites (150)
N[i,1] ~ dpois(lambda) #Abundance
for (k in 2:15) { #loop over weeks (15)
N[i,k] ~ dpois(omega[k] * N[i, k-1])
# Observation model for replicated counts
for (j in 1:T){ #loop over temporal reps (2)
y[i,j,k-1] ~ dbin(p, N[i,k-1]) #Detection
} #j
} #k
} #i
}
",fill = TRUE)
sink()
# Bundle and summarize data set
R = nrow(y) #sites = 150
T = ncol(y) #replications per observation day = 2
win.data <- list(y = y, R = R, T = T)
# Initial values
Nst <- apply(y, c(1,3), max) +1
inits <- function() {list(N = Nst)}
# Parameters monitored
params1 <- c("omega", "lambda", "p")
# MCMC settings
ni <- 20 ; nt <- 1 ; nb <- 0 ; nc <- 8
# Call JAGS (ART 1 min) and summarize posteriors
library(jagsUI)
fm1 <- jags(win.data, inits, params1,
"model1.txt",
n.chains = nc, n.thin = nt, n.iter = ni, n.burnin = nb)