从R到jags插入估计值

从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

对于我的研究,我需要估计方差,并将这些估计插入到我的威斯哈特分布在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", "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
>