Я выполняю метаанализ байесовской сети с ковариатной настройкой, используя зазубрины с rjags.
Дадту и модель можно скачать здесь: https://www.dropbox.com/sh/krujfh8xgjhxclv/AACdjhnIYV-o1Mv9lvUOL4B2a?dl=0.
Моя проблема связана с обработкой отсутствующего ковариата.Если я запускаю прикрепленный код, пропуская все случаи с пропущенными ковариационными данными, все работает нормально.Тем не менее, при попытке согласовать модель со всеми включенными данными, я получаю следующую ошибку:
Error in jags.model(model.file, data = data, inits = init.values, n.chains = n.chains, :
RUNTIME ERROR:
Compilation error on line 30.
Cannot evaluate subset expression for ssumdev
Я знаю, что это из-за NA в ковариатных данных, которые не могут быть поднастроены.Но я изо всех сил пытаюсь решить это.Поэтому я хотел бы спросить, есть ли решение, позволяющее избежать этой ошибки и запустить модель путем включения отсутствующих ковариатных данных?
rm(list = ls())
library(rjags)
# Defining some MCMC parameters for JAGS
nchains <- 3; # How Many Chains?
nadapt<-500
nburnin <- 500; # How Many Burn-in Samples?
nsamples <- 500; # How Many Recorded Samples?
nthin <- 10;
# Data
datasrc <- read.csv('Data.csv', header=TRUE)
datasrc[] <- lapply(datasrc, function(x){
x[is.nan(x)] <- NA
x
})
datasrc<-subset(datasrc,datasrc$XSevag!="NA");
mmu<-mean(datasrc$XSevag);
basenumbers<-linspace(14,44,31);base<-c(mmu,basenumbers);
datastruct<-list(z=base, nz=length(base),ns=length(datasrc$t1),nt=22,mmu=mmu,base=base,id=c(datasrc$id),na=c(datasrc$na),
t=structure(.Data=c(datasrc$t1,datasrc$t2,datasrc$t3), .Dim=c(length(datasrc$t1),3)),
r=structure(.Data=c(datasrc$r1,datasrc$r2,datasrc$r3), .Dim=c(length(datasrc$t1),3)),
n=structure(.Data=c(datasrc$n1,datasrc$n2,datasrc$n3), .Dim=c(length(datasrc$t1),3)),
XSevag=c(datasrc$XSevag))
model.file1 = "ModelA1.txt"
mod1 <- jags.model(file =model.file1, data=datastruct, n.chains=nchains, n.adapt=nadapt);
Большое спасибо за помощь, Liso