尖齿“数据”附近的神秘语法错误

时间:2018-11-07 22:32:11

标签: jags

运行锯齿模型时,出现以下错误消息

  

分析模型文件时出错:第5行“数据”附近的语法错误

简而言之,我拥有两个响应变量(cmaxcmd)和一个预测变量(dbh)。我的想法是估计cmaxcmd之间的相关性,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)

1 个答案:

答案 0 :(得分:0)

因此,当我知道jags模型文件中的“模型”之外还有另一个模块(“数据”)时,我开始怀疑将输入数据框称为“数据”并不是最聪明的主意。更改此数据框的名称后,一切似乎都工作正常。