在R中打印或捕获多个对象

时间:2013-08-26 01:10:28

标签: r save regression

我在R脚本中有多个回归,并希望将回归摘要附加到单个文本文件输出中。我知道我可以使用以下代码为一个回归摘要执行此操作,但我如何为多个执行此操作?

rpt1 <- summary(fit)
capture.output(rpt1, file = "results.txt")

我宁愿不必在同一个脚本中多次使用它(对于rpt1,rpt2等),因此每个结果都有单独的文本文件。我确信这很容易,但我还在学习R绳索。有什么想法吗?

2 个答案:

答案 0 :(得分:2)

您可以将结果存储为列表,然后使用capture.output

fit1<-lm(mpg~cyl,data=mtcars)
fit2<-lm(mpg~cyl+disp,data=mtcars)
myresult<-list(fit1,fit2)
capture.output(myresult, file = "results.txt")

答案 1 :(得分:1)

如果您希望将多个输出发送到文件,然后查看sink函数,它会将所有输出重定向到文件,直到您再次调用sinkcapture.output函数实际使用sink

您可能还对TeachingDemos包中的txtStart函数(和朋友)感兴趣,该函数还包括散布在输出中的命令,并为输出格式提供了更多选项。

最终,你可能想要研究knitr包,了解批量运行一组命令的方法,并很好地将所有输出一起很好地格式化(并记录下来)。