Таинственная синтаксическая ошибка [...] рядом с «данными» в зазубринах - PullRequest
0 голосов
/ 08 ноября 2018

При запуске модели с зазубринами появляется следующее сообщение об ошибке

Ошибка анализа файла модели: синтаксическая ошибка в строке 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)

1 Ответ

0 голосов
/ 09 ноября 2018

Итак, когда я узнал, что есть другой модуль («данные») помимо «модели» в файле модели с зазубринами, я начал подозревать, что называть мой входной фрейм данных «данными» было не самой умной идеей. После изменения имени этого фрейма данных все работает нормально.

...