【发布时间】:2017-08-27 09:17:46
【问题描述】:
我的数据文件如下所示:
list(y=structure(.Data=c(26, 228, 31, ...)), .Dim=c(413,9))
假设这个文件被保存为“data.txt”。
如果我在“R2OpenBUGS”中工作,它可以让我毫无问题地将数据作为文件传递:
mcmc <- bugs(data = "data.txt", inits=...)
但在 JAGS 中,如果我将数据作为“data.txt”传递,它会说:“数据必须是列表或环境”。这里有什么问题?另外,如果没有办法解决它,有没有办法可以将数据作为 R 中的列表读取?
我的模型是:
model {
for (i in 1:413) {
for (j in 1:9) {
logy[i,j] <- log(y[i,j])
logy[i,j] ~ dnorm(m[i], s)
}
}
# priors
for (i in 1:413) {
m[i] ~ dgamma(0.001, 0.001)
}
s ~ dgamma(0.001, 0.001)
}
【问题讨论】:
-
您可以尝试阅读并分配它。
dat <- dget("data.txt")。然后将其传递给 data= 语句 -
谢谢!我不知道'dget'。我不确定它是否工作正常。因为现在我收到另一个错误:“尝试重新定义节点 logy[1,1]”。我认为我的模型很好,因为它在 R2OpenBUGS 中工作
-
啊实际上,为什么你有两个节点叫 logy ?
-
我基本上在我的模型中假设我的数据日志是正态分布的。所以在第一行我得到了日志,在第二行我说它是正态分布的。
-
见下文.....