如何使用 runjags 遍历数据子集

问题描述

我正在尝试使用基于我在 stackoverflow Loop through (subsets) using jags 上找到的示例的 runjags 遍历数据子集。

我的原始数据集有 2000 多个观测值,我必须根据具有 15 个级别的因子变量对其进行子集化。而不是一个一个地运行分析,而是试图循环遍历它。

请在下面找到我要解决的问题的示例代码以及我收到的错误消息

 library(runjags)
  ###
 cat("model{for(i in 1:N){
attack[i] ~ dnorm(mu[i],tau)
 mu[i] <- alpha + beta*agent[i]
 }
alpha ~ dnorm(0,1.0e-6)
beta ~ dnorm(0,1.0e-6
tau ~ dgamma(0.001,0.001}",file="mod1.txt")

data1 <- 
data.frame(attack=rnorm(18,1),agent=rnorm(18,5,18),cplace=c("r1","r1","r2","r3","r4","r1"))
sub_dat <- split(data1[,c(1,2,3)],as.factor(data1[,3)]$cplace))
   #######
   model.output <- lapply(sub_dat,function(x) {
   N <- nrow(x)
   attack <- x$attack
   agent <- x$agent
   data <- list("N","attack","agent") 
   parameters <- c("alpha","beta")
  set.seed(3456)
  samples <- autorun.jags(model="mod1.txt",monitor=c("alpha","beta"),data=data,n.chains=3,startburnin = 5000,startsample=5000,adapt=1000,psrf.target=1.02)
  return(samples)
  })

运行上述后,我收到错误消息“错误:指定为数据参数的列表不是完整命名的列表”

请问我该如何解决这个问题。谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)