我在Stan
中运行贝叶斯隐变量模型。下面是我的模型代码:
# run the Stan model
mod.dyn <- stan(file="DynamicLVMmin.stan",
data=stan.data, seed=570175513, thin = 5,
iter=10000)
模型运行时没有任何问题。然后我保存mod.dyn
,如下所示:
# save stan fit
saveRDS(mod.dyn, "dynamic_fit.rds")
现在我正在阅读dynamic_fit.rds
,我想使用Gelman-Rubin R-hat诊断评估模型收敛性,代码如下:
readRDS("dynamic_fit.rds")
params <- c("innov", "c_n_4_v2exdfdshs", "c_n_5_v2exdfvths", "c_n_3_v2exdfpphs", "c_n_5_v2lginvstp",
"c_n_3_v2lgoppart", "c_n_2_v2lgfunds", "c_n_4_v2lgcomslo", "c_n_2_v2lgintbup", "c_n_2_v2lgintblo",
paste("beta[", 1:9, "]", sep=""))
params.all <- names(mod.dyn)
但是,我收到以下错误:
Error: object 'mod.dyn' not found
Execution halted
我错过了什么?当我使用saveRDS(mod.dyn, "dynamic_fit.rds")
时,mod.dyn
不应该被保存吗?任何反馈都将受到欢迎。
1条答案
按热度按时间42fyovps1#
readRDS
保存了一个没有名称的对象。在读入值后捕获该值。这与
save()/load()
不同,save()/load()
以序列化格式存储一个或多个变量及其名称+值。那么
对象
mod.dyn
将被加载回您的工作区。