繁体   English   中英

R 在多个数据集上循环因果影响并自动导出结果

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM