从R到jags插入估计值
对于我的研究,我需要估计方差,并将这些估计插入到我的威斯哈特分布在JAGS中的标度矩阵(在我的JAGS代码中称为R)。我使用R2JAGS(在mac上),我想知道如何使用R/JAGS代码来实现这一点?我希望自动执行此操作,因为我需要运行模拟研究 因此,我得到了以下运行我的模型的R代码:从R到jags插入估计值,r,jags,R,Jags,对于我的研究,我需要估计方差,并将这些估计插入到我的威斯哈特分布在JAGS中的标度矩阵(在我的JAGS代码中称为R)。我使用R2JAGS(在mac上),我想知道如何使用R/JAGS代码来实现这一点?我希望自动执行此操作,因为我需要运行模拟研究 因此,我得到了以下运行我的模型的R代码: Res.NoCorr <- jags(data, model.file = "LVL_3_MODEL_SD_NoRanEff.bug", parameters = c("sigma.mean.mu", "s
Res.NoCorr <- jags(data, model.file = "LVL_3_MODEL_SD_NoRanEff.bug", parameters =
c("sigma.mean.mu", "sigma.mean.beta", "sigma.mean.phi"), n.chains = 1, n.iter = itt,
n.burnin = bi, DIC = FALSE)
Res.NoCorr
Inference for Bugs model at "LVL_3_MODEL_SD_NoRanEff.bug", fit using jags,
1 chains, each with 1e+05 iterations (first 10000 discarded), n.thin = 90
n.sims = 1000 iterations saved
mu.vect sd.vect 2.5% 25% 50% 75% 97.5%
sigma.mean.beta 0.121 0.054 0.021 0.082 0.123 0.160 0.222
sigma.mean.mu 1.345 0.608 0.070 0.955 1.398 1.800 2.386
sigma.mean.phi 0.096 0.014 0.069 0.087 0.095 0.106 0.126
Res.NoCorr如果将JAGS文件作为包模板编写,则可以执行以下操作:
est.sd.mu <- <%= Xmu %>
est.sd.beta <- <%= Xbeta %>
est.sd.phi <- <%= Xphi %>
[etc]
但是您应该使用file=
和output=
参数为模板使用文件来指定输入模板和输出JAGS文件
您可以通过使用paste
来组装文件的字符版本,然后将其另存为JAGS文件,但这只是复制了brew
的设计目的 我尝试在brew软件包中使用您的建议,但似乎不起作用。我认为这与文件=
和输出=
参数有关。这是我的一个参数的R代码:brew(text=“est.sd.mu否,您将标签放入LVL_3_Model_sd.bug文件中,然后执行brew(“LVL_3_Model_sd.bug”,output=“LVL_3_Model_sd-out.bug”)
,替换内容将出现在-out.bug
文件中。然后将其提供给JAGS。不要使用text=
,这只是我创建的一个简单的模板替换示例。感谢您的快速响应,它现在可以工作了!。最后一个问题:我收到了以下警告,我的问题是我是否可以忽略它(因为它生成了正确的JAGS文件)或否:警告消息:在readLines(图标1)中:在'LVL_3_Model_SD.bug'上发现的不完整的最后一行听起来好像文件的最后一行上没有'return'。转到该行的末尾,点击return,save,然后重试。
est.sd.mu <- <%= Xmu %>
est.sd.beta <- <%= Xbeta %>
est.sd.phi <- <%= Xphi %>
[etc]
> Xmu=-1.23
> brew(text="est.sd.mu <- <%= Xmu %>")
est.sd.mu <- -1.23
>