问题描述
我正在尝试使用基于我在 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 (将#修改为@)