运行锯齿模型时,出现以下错误消息
分析模型文件时出错:第5行“数据”附近的语法错误
简而言之,我拥有两个响应变量(cmax
和cmd
)和一个预测变量(dbh
)。我的想法是估计cmax
和cmd
之间的相关性,dbh
没有解释,因为这些变量之间的简单相关性是微不足道的。
下面是我的代码:
# Model input
dat = list(N = nrow(data), # number of observations
data = as.matrix(log(data[,c("dbh","cmax","cmd")])), # log-transform variables
T = diag(2)/1000, # var-covar matrix for non-informative priors
r = 2, # number of variables
m = c(0,0)) # means for non-informative priors
inits = list(P=diag(2)/1000, A=c(0,0), B=c(0,0))
# JAGS model
cat("model{
### Likelihood
for(i in 1:N){
M[i,1:r] <- A[1:r] + B[1:r]*data[i,1]
data[i,2:3] ~ dmnorm(M[i,1:r],P[1:r,1:r])
}
### Priors
P[1:r,1:r] ~ dwish(T,r)
A[1:r] ~ dmnorm(m,T)
B[1:r] ~ dmnorm(m,T)
### Statistics
V <- inverse(P)
sigmaH <- sqrt(V[1,1])
sigmaW <- sqrt(V[2,2])
covHW <- V[1,2]
corHW <- covHW/(sigmaH*sigmaW)
}",
file="Ch1/BM2.txt")
# Run JAGS
res = jags.model(file="Ch1/BM2.txt", data=dat, inits=inits, n.chains=1,
n.adapt=500)
答案 0 :(得分:0)
因此,当我知道jags模型文件中的“模型”之外还有另一个模块(“数据”)时,我开始怀疑将输入数据框称为“数据”并不是最聪明的主意。更改此数据框的名称后,一切似乎都工作正常。