[英]Loop Causal Impact in R over multiple datasets and automatically export results
我需要一些关于如何解决这个问题的建议。 我有许多动物园对象,我想在 R 中执行因果影响分析,使用 Google 开发的同音字 package。 为了自动化这个过程,我想在动物园对象上运行一个循环,并自动将结果保存在一个文件中,以便以 word 或 csv 导出。
到目前为止,我的解决方案是将动物园对象包含在动物园列表中
zoolist<-list(ts1,
ts2,
ts3
)
然后运行一个for循环,如:
for (i in zoolist)
{
experiment_impact<-CausalImpact(i,
pre.period,
post.period,
model.args = list(nseasons = 7, season.duration = 1))
summary(experiment_impact)
}
该代码似乎有效,但是我不知道如何以 csv 或 doc 或任何格式导出所有输出,前提是它紧凑且可读。
任何想法? 谢谢您的帮助!
如果您只想捕获摘要,与打印到屏幕上的内容完全相同,则可以使用capture.output
。 将循环中的第二行替换为:
capture.output(summary(experiment_impact), file = 'example.txt', append = T)
更优雅的解决方案可能是使用lapply
对列表中的每个项目运行分析,以便最终得到 output 项目的列表:
resultList =
lapply(
zoolist,
CausalImpact,
pre.period,
post.period,
model.args = list(nseasons = 7, season.duration = 1)
)
然后,您可以从列表中的每个 CausalImpact 对象中提取所需的值,并在 data.frame 中格式化这些值,您可以使用write.csv
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.