4

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

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

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

4

2 回答 2

3

您可以将结果存储为列表,然后使用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")
于 2013-08-26T01:16:58.940 回答
1

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

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

最终,您可能会想要研究 knitr 包,以了解批量运行一组命令的方法,并很好地将所有输出很好地捕获在一起,格式良好(并记录在案)。

于 2013-08-26T17:07:52.463 回答