如何获取我在RStudio中运行的脚本的所有输出

时间:2011-04-06 19:03:38

标签: r text rstudio

我想查看包含149行的脚本的输出。一直到脚本都有我想看的表。我正在使用RStudio IDE。在过去,我使用过Tinn-R。我将运行整个脚本,代码行和打印对象将在控制台中可见。

例如,这是一段摘录

attach(uniquehuman.race.eth)
partA.eth <-table(Ethnicity, Sex,useNA="ifany")
partA.eth
margin.table(partA.eth,1)#row totals
margin.table(partA.eth,2)#column totals
nrow(uniquehuman.race.eth)#total logged in

上面的代码将给出表格的文本输出和我需要的数字。然后我可以保存控制台或将整个事物复制并粘贴到文本文件中。

我怎样才能在RStudio中做到这一点?我最接近它的是在每一行上按CTRL-ENTER,但我不想这样做149次。如果我点击CTRL-SHIFT-ENTER进行“全部运行”,则R处理所有数据并将对象放入内存,但我看不到输出。

请告诉我如何查看所有输出和/或将输出发送到文本文件。

3 个答案:

答案 0 :(得分:23)

我是RStudio开发人员之一。感谢您的反馈 - 我会记录一个错误。

与此同时,一种解决方法是从控制台执行source(filename, echo=T)

答案 1 :(得分:10)

您只需选择要运行的代码,然后按CTRL+ENTER即可在RStudio中执行您想要的操作。这适用于多行,与Tinn-R完全相同。如果您想以详细的方式一次性运行所有内容,请按CTRL-A CTRL-ENTER

作为保存到文本文件的另一个选项,您可以查看?sink

sink(file='path/to/somefile.ext')
... # the code generating output
sink()

sink()将控制台的所有输出重定向到连接,在本例中为某个文件。请注意,这只是标准输出,而不是警告或错误。此命令也可以方便地在分析中创建输出文件,并结合print()cat()sprintf()等。

如果在RStudio中使用“全部运行”,则必须明确使用任何提到的函数来生成文件的输出。原则上,如果您运行整个脚本,RStudio将以静默方式运行。

答案 2 :(得分:1)

使用选项(verbose = TRUE)在整个脚本或会话中详细打印所有输出。