Ошибки R2OpenBugs - PullRequest
       51

Ошибки R2OpenBugs

0 голосов
/ 18 июня 2019

Я пытаюсь запустить код от R до R2Openbugs и сталкиваюсь с проблемами, которые не могу понять.Он возвращает те же коды ошибок, хотя я пробовал различные способы устранения, предложенные по другим вопросам.Я был бы очень признателен за любую помощь.Заранее спасибо.

Вот код r:

Fullocc<-read.csv("FinalOccSheet.csv")
Fullocc<-as.matrix(Fullocc[,-1])


## build array where structure is [site,sample,species]
X<-array(data=c(Fullocc),dim=c(81,7,43))


# site covariates
###covs already standardized
SiteCovs<-read.csv("LAoldsitecovs.csv") # cont. values already standardized, PCA for veg chars
sitecovs<-SiteCovs [,-1]
summary(SiteCovs)

# survey covariates (plus standardization)

Temp<-read.csv('LAtempcov.csv')
Temp<-as.matrix(Temp[,-1])


### Function for anuran Multi-species occupancy
Fullocc<-function(DH=X,Soil=sitecovs$Soil.Type,Overst=sitecovs$Overstory.Composition,Veg1=sitecovs$PC1,Veg2=sitecovs$PC2,Veg3=sitecovs$PC3,Temp=Temp,nc=3,ni=40000,nb=5000,nt=3){   
  n<-dim(DH)[3] # number of species
  J<-dim(DH)[1] # number of sites = rows
  K<-dim(DH)[2] # number of occassions = columns
  data<-list(Y=DH,n=n,J=J,K=K,Soil=Soil,Overst=Overst,Veg1=Veg1,Veg2=Veg2, Veg3=Veg3,Temp=Temp) #LU1=LU1,LU2=LU2,LU3=LU3,LU4=LU4
  modelFilename = "MultiSpeciesOccModel.txt"
  cat("
      model{
      psi.mean~dunif(0,1)
      a<-log(psi.mean)-log(1-psi.mean)
      p.mean~dunif(0,1)
      b<-log(p.mean)-log(1-p.mean)
      sigma.u~dunif(0,3)
      sigma.v~dunif(0,3)
      tau.u<-pow(sigma.u,-2)
      tau.v<-pow(sigma.v,-2)
      rho~dunif(-1,1)
      var.v<-tau.v/(1-pow(rho,2))

      mu.alpha1~dunif(-3,3)
      mu.alpha2~dunif(-3,3)
      mu.alpha3~dunif(-3,3)
      mu.alpha4~dunif(-3,3)
      mu.alpha5~dunif(-3,3)
      mu.alpha6~dunif(-3,3)
      mu.alpha7~dunif(-3,3)

      mu.beta1~dunif(-3,3)

      sigma.alpha1~dunif(0,3)
      sigma.alpha2~dunif(0,3)
      sigma.alpha3~dunif(0,3)
      sigma.alpha4~dunif(0,3)
      sigma.alpha5~dunif(0,3)
      sigma.alpha6~dunif(0,3)
      sigma.alpha7~dunif(0,3)

      sigma.beta1~dunif(0,3)

      tau.alpha1<-1/pow(sigma.alpha1,2)
      tau.alpha2<-1/pow(sigma.alpha2,2)
      tau.alpha3<-1/pow(sigma.alpha3,2)
      tau.alpha4<-1/pow(sigma.alpha4,2)
      tau.alpha5<-1/pow(sigma.alpha5,2)
      tau.alpha6<-1/pow(sigma.alpha6,2)
      tau.alpha7<-1/pow(sigma.alpha7,2)

      tau.beta1<-1/pow(sigma.beta1,2) 

      for(i in 1:n){                   
      u[i]~dnorm(a,tau.u)I(-3,3)
      mu.v[i]<-b+(rho*sigma.v/sigma.u)*(u[i]-a)
      v[i]~dnorm(mu.v[i],var.v)I(-3,3)
      alpha1[i]~dnorm(mu.alpha1, tau.alpha1)I(-3,3)
      alpha2[i]~dnorm(mu.alpha2, tau.alpha2)I(-3,3)
      alpha3[i]~dnorm(mu.alpha3, tau.alpha3)I(-3,3)
      alpha4[i]~dnorm(mu.alpha4, tau.alpha4)I(-3,3)
      alpha5[i]~dnorm(mu.alpha5, tau.alpha5)I(-3,3)
      alpha6[i]~dnorm(mu.alpha6, tau.alpha6)I(-3,3)
      alpha7[i]~dnorm(mu.alpha7, tau.alpha7)I(-3,3)

      beta1[i]~dnorm(mu.beta1, tau.beta1)I(-3,3)

      #Estimate the occupancy probability (latent Z matrix) for each species at each site
      for(j in 1:J){
      logit(psi[j,i])<-u[i]+alpha1[i]*Soil[j]+alpha2[i]*Overst[j]+alpha3[i]*Veg1[j]+alpha4[i]*Veg2[j]+alpha5[i]*Veg3[j]
      Z[j,i]~dbern(psi[j,i])
      #Estimate the species specific detection probability for every rep at each point where the species occurs (Z=1)
      for(k in 1:K){
      logit(p[j,k,i])<-v[i]+beta1[i]*Temp[j,k]
      mu.p[j,k,i]<-p[j,k,i]*Z[j,i]
      Y[j,k,i]~dbern(mu.p[j,k,i])         
      #Create simulated dataset to calculate the Bayesian p-value
      Ynew[j,k,i]~dbern(mu.p[j,k,i])
      d[j,k,i]<-abs(Y[j,k,i]-mu.p[j,k,i])
      dnew[j,k,i]<-abs(Ynew[j,k,i]-mu.p[j,k,i])
      d2[j,k,i]<-pow(d[j,k,i],2)
      dnew2[j,k,i]<-pow(dnew[j,k,i],2)
      }
      dsum[j,i]<-sum(d2[j,1:K,i])
      dnewsum[j,i]<-sum(dnew2[j,1:K,i])
      }
      }
      #Calculate the discrepancy measure, which is then defined as the mean(p.fit > p.fitnew)
      P.fit<-sum(dsum[1:J,1:n])
      P.fitnew<-sum(dnewsum[1:J,1:n])
      BPvalue<-step(P.fitnew-P.fit)
      # derived parameters
      for(j in 1:J){
      SpR[j]<-sum(Z[j,])
      }
      ", fill=TRUE, file=modelFilename)
  inits<-function(){
    list(psi.mean=runif(1),p.mean=runif(1),sigma.u=runif(1,0,3),sigma.v=runif(1,0,3),rho=runif(1,-1,1),u=rnorm(n),v=rnorm(n),Z=matrix(1,nrow=J,ncol=n), 
         mu.alpha1=rnorm(1),mu.alpha2=rnorm(1),mu.alpha3=rnorm(1),mu.alpha4=rnorm(1),mu.alpha5=rnorm(1),mu.alpha6=rnorm(1),mu.alpha7=rnorm(1),
         sigma.alpha1=runif(1,0,3),sigma.alpha2=runif(1,0,3),sigma.alpha3=runif(1,0,3),sigma.alpha4=runif(1,0,3),sigma.alpha5=runif(1,0,3),sigma.alpha6=runif(1,0,3),sigma.alpha7=runif(1,0,3),
         mu.beta1=rnorm(1),sigma.beta1=runif(1,0,3))
  }
  params<-list('psi.mean','sigma.u','p.mean','sigma.v','SpR','mu.alpha1','mu.alpha2','mu.alpha3','mu.alpha4','mu.alpha5','mu.alpha6','mu.alpha7','sigma.alpha1','sigma.alpha2','sigma.alpha3','sigma.alpha4','sigma.alpha5','sigma.alpha6','sigma.alpha7',
               'alpha1','alpha2','alpha3','alpha4','alpha5','alpha6','alpha7',
               'mu.beta1','sigma.beta1','beta1','BPvalue','u','a','v','Sp.R.pred')
  require(R2OpenBUGS)
  fit<-bugs(data,inits,params,"MultiSpeciesOccModel.txt",n.chains=nc,n.iter=ni,n.burnin=nb,n.thin=nt,debug=TRUE,DIC=TRUE, codaPkg = TRUE)
  print(fit,dig=3)
}

### Run function with augmented data
Fullocc<-Fullocc(DH=X,Soil=sitecovs$Soil.Type,Overst=sitecovs$Overstory.Composition,Veg1=sitecovs$PC1,Veg2=sitecovs$PC2,Veg3=sitecovs$PC3,Temp=Temp,nc=3,ni=40000,nb=5000,nt=3)

Вот сообщения об ошибках OpenBugs

недопустимая или неожиданная ошибка сканирования токена pos 2892

модель должна быть проверена перед загрузкой данных

модель должна быть проверена перед компиляцией

модель должна быть скомпилирована, но не обновлена, чтобы иметь возможность изменять генератор RN

BugsCmds: NoCompileInits

BugsCmds: NoCompileInits

BugsCmds: NoCompileInits

модель должна быть скомпилирована перед генерацией начальных значений

модель должна быть инициализирована перед обновлением

модель должна быть инициализирована перед использованием мониторов

модель должна быть инициализирована перед мониторингом DIC

модель должна быть инициализирована перед обновлением

модель должна быть инициализирована перед мониторамииспользуется

Монитор DIC не установлен

А вот сообщения об ошибках R, которые появляются при закрытии openbugs:

Ошибка вошибок.run (n.burnin, OpenBUGS.pgm, debug = debug, WINE = WINE,: посмотрите на файл журнала в C: / Users / ethro / AppData / Local / Temp / RtmpolX83G и попробуйте снова с «debug = TRUE», чтобы вычислитьчто пошло не так в OpenBUGS.

...