Ошибка: -Ошибка синтаксического анализа файла модели: синтаксическая ошибка в строке 11 рядом с "==". Пожалуйста, разрешите - PullRequest
0 голосов
/ 13 апреля 2020

Я пытаюсь создать однонаправленную модель случайных эффектов для данного мне набора данных. Я столкнулся с ошибкой в ​​описании модели JAGS. Я думаю, что ошибка в объявлении модели. Я приложил весь код ниже. Мои знания о R и статистике в лучшем случае основаны c. Пожалуйста, помогите решить эту проблему. Состояние ошибки: Ошибка в jags.model (model_string, data = data, n.chains = n.chains, quiet = TRUE):

Ошибка анализа файла модели: синтаксическая ошибка в строке 11 рядом с "=="

Код:

library(rjags)

R <- list() #I thought that R[i] might be giving a syntax error, for not declaring it
data2 <- read.csv("alcohol.csv")
t <- data2$Time
pt <- data2$Price
ct <- data2$Country
n <- length(t)
A=2500
#alcohol <- list(Y=pt, X=t)
#Split data to get a matrix with different columns for different countries
out <- split(data2, f = data2$Country)
count1 <- out$"1"$Price
count2 <- out$"2"$Price
count3 <- out$"3"$Price
count4 <- out$"4"$Price
count5 <- out$"5"$Price
count6 <- out$"6"$Price
count7 <- out$"7"$Price
count8 <- out$"8"$Price
Y <- cbind(count1, count2,count3, count4,count5, count6,count7, count8)

plot(row(Y),Y,xlab="Country's Time Point",ylab="Price",pch=19)
lines(rowMeans(Y))
legend("topleft",c("Observations","Sample mean"),lty=c(NA,1),pch=c(19,NA),bty="n")

#JAGS Model
model_string <- textConnection("model{

# Likelihood
for(i in 1:n){
  pt[i] ~ dnorm(mut[i],taue)
  mut[i]<- A*exp(-R[i]*t[i]) + p0
}

# Random effects
for(i in 1:n){
  if(ct[i]==1) Y[i]~ dnorm(mu,taua) 
  else if(ct[i]==2) R[i]~ dnorm(mu,taua) 
  else if(ct[i]==3) R[i]~ dnorm(mu,taua)
  else if(ct[i]==4) R[i]~dnorm(mu,taua)
  else if(ct[i]==5) R[i]~ dnorm(mu,taua) 
  else if(ct[i]==6) R[i]~ dnorm(mu,taua)
  else if(ct[i]==7) R[i]~dnorm(mu,taua) 
  else R[i]~dnorm(mu,taua)}

# Priors
mu   ~ dnorm(0,0.0001)
taue ~ dgamma(0.1,0.1)
taua ~ dgamma(0.1,0.1)
p0 ~ dnorm(0,0.0001)
}")

params   <- c("mu","R[i]","taue","taua","p0")

#This line is where the error is being shown
model    <- jags.model(model_string, data = data, 
                       n.chains=n.chains, quiet=TRUE)

update(model, burn, progress.bar="none")
samples1 <- coda.samples(model, variable.names=params, thin=thin,
                         n.iter=n.iter, progress.bar="none")

samples1 <- rbind(samples1[[1]],samples1[[2]])
R[i]    <- samples1[,1:n]
mu       <- samples1[,n+1]
sigma2   <- 1/samples1[,n+2:3]
r        <- sigma2[,2]/rowSums(sigma2)
hist(r,breaks=50,prob=TRUE,main="",xlab="Proportion of variance explained by the random effect")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...