首页 > 解决方案 > 将数据从 R 加载到 OpenBUGS 时出现问题?

问题描述

我正在尝试在 R 中构建一个数据集,然后将其加载到 OpenBUGS 中以执行一些贝叶斯分析,但在加载数据时遇到了困难。

这是我的 R 代码:

library(BRugs)
y <- c(16,9,10,13,19,20,18,17,35,55)
m <- c(74,99,58,70,122,77,104,129,308,119)
bugsData(list(y=y, n=m), file="Assignment1Q2.txt")

这一切都很好。然后我尝试将其加载到 OpenBUGS 中,但是当我在选择文件后单击“加载数据”时,我收到一条错误消息:此时“预期为数字或 NA”:

n= c (7.4...)

我对此感到困惑,为什么它会在那里期待一个数字?我需要在 R 中创建一个向量来存储信息“m”,但它告诉我这是 OpenBUGS 中的错误(但不是y 向量的错误,它接受 y= c (...) 很好)。

有人可以帮忙吗?

谢谢!

标签: ropenbugs

解决方案


弄清楚了!原因是在我的 OpenBUGS 代码中,我只告诉它有 1 个 n 值(因此它不期望 n 值的向量)并且只需要修复它。

从:

for (i in 1:10){
  y[i] ~ dbin(p,n)
  }

至:

for (i in 1:10){
  y[i] ~ dbin(p,n[i])
  }

推荐阅读