如何在编写RMarkdown笔记本时在控制台中显示输出?

30

我有一个简单的问题,我认为我只是没找到正确的地方,或者RStudio没有按照期望的方式行事。 我想知道是否有选项将我所有的markdown代码块的结果输出到图形窗口或控制台。

我开始使用R Notebooks在R Markdown中编写。 假设我输入以下命令:

head(cars)

在我的.Rmd文档中,我按下Ctrl + Enter,然后该行被运行。cars数据集的前6行出现在我的脚本中。我看到在控制台中运行了该行,但输出不在控制台中。

为什么这让我烦恼?有时我的代码块很长。那时,我必须厌烦地滚动到块的末尾才能看到结果。或者,我输入head(car),运行该行,然后决定要看tail(car)并运行该行。在控制台中,我可以同时看到两个结果(数据框的头和尾),但在.Rmd文件中,由于我没有同时运行它们,我的“头”调用的结果就会消失。这些问题似乎很小,但当它们一遍又一遍地发生时,会很令人沮丧!我知道如果我直接在控制台中输入,我可以看到结果,但这会打断我的工作流程。

我尝试过的:除了搜索外,我进入RStudio-->工具-->R Markdown,并确保选项“显示所有markdown文档的行内输出”未选中 - 没有任何区别。

我错过了哪个选项吗?我使用的是R Studio版本1.0.136

谢谢!

这是代码(使用.Rmd笔记本文件):

---
title: "R Notebook"
output: html_notebook
---


```{r}
# run just this line
head(cars)

# run just this line
tail(cars)

# Both show up below (here in the file) but do not go to console
```

并且附上截图:输出结果不会显示在控制台


你能复制粘贴你的代码吗? - GGA
这是一个相当基础的内容,但是我给你提供了一个截图!看一下从笔记本执行的调用在控制台中没有产生输出。 - Nova
2个回答

46

来自官方网站(我加粗):

  

RStudio默认在所有R Markdown文档上启用内联输出(笔记本模式),因此您可以像使用笔记本一样与任何R Markdown文档交互。 如果您有一个更喜欢使用传统控制台交互方法的文档,您可以通过单击编辑器工具栏中的齿轮并选择在控制台中块输出来禁用笔记本模式

这将在R Markdown文档的YAML前置元数据中设置chunk_output_type选项为console

---
editor_options:
  chunk_output_type: console
---

在不点击任何图形界面选项的情况下,将这些行添加到YAML头部信息中,当然会导致相同的结果。


8
嗯...经过一天的尝试,我发现它似乎经常会“默认”在同一次会话中再次显示输出结果。很奇怪。 - Nova
3
我觉得R Studio越来越像苹果了,不断地强制推出它们的产品和设计选择。我不禁想知道这是否受到了tidyverse的影响。 - geneorama
每当我保存RNotebook时,设置似乎会从“在控制台中输出块”切换到“内联输出块”。 - Tom Roth
有没有一行代码可以做到这一点?每次手动操作很麻烦。此外,与不熟悉R的人共享代码时,您必须告诉他们该怎么做。 - Jonno Bourne
我意识到在设置中它是一个选项 编辑器选项: 块输出类型:控制台 - Jonno Bourne
显示剩余3条评论

21

在“工具”中的“选项”下,选择R Markdown的选项,将“显示输出为内联”勾选项更改为“不勾选”即可。

祝好运!


我认为这个回答和@cadair的回答是互补的。我的理解是,这个回答会改变所有新的rmd文档的默认行为,而cadair的回答只会改变你当前正在编辑的特定文档的块输出。 - RTbecard

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接