我在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
答案 0 :(得分: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")