1

我在 R 中运行 Jags/Winbugs,效果很好,但我无法将输出保存到文本或 csv 文件(两者都可以)

TEST.sim<- jags(data=jags.data, 
                parameters.to.save=jags.params, 
                n.iter=200000,jags.seed=123, 
                model.file="~/Documents/ARRModel.txt")

我需要的是一种保存输入时出现的输出的方法:

print(TEST.sim)

当我尝试 write.table 时,它​​给出以下错误:无法将类“错误”强制转换为 data.frame

4

1 回答 1

2

如果您使用库R2jags和函数,jags()则函数print()会生成存储在列表元素BUGSoutput和子列表中的统计信息表summary。您可以直接访问这些数据并将其存储为其他对象(或直接在函数中使用write.table()),然后写入文本文件。

jag.sum<-TEST.sim$BUGSoutput$summary
jag.sum

                mean         sd        2.5%         25%         50%          75%        97.5%     Rhat n.eff
alpha     19.6399640 1.22982919  17.1888046  18.8401629  19.6391880  20.45108889  22.03860486 1.001312  4100
beta1     -0.1063905 0.01755548  -0.1409861  -0.1180097  -0.1064871  -0.09469226  -0.07198614 1.001028 18000
beta2     -0.1857631 0.03667742  -0.2573464  -0.2103279  -0.1860142  -0.16155874  -0.11304929 1.001138  7700
deviance 192.6742580 3.02780455 188.9038177 190.4371154 192.0046398 194.13875526 200.28772929 1.001252  4800

write.table(x=jag.sum,file="out.txt",sep="\t")
于 2013-03-04T12:22:29.893 回答