【问题标题】:avoid string printed to console getting truncated (in RStudio)避免打印到控制台的字符串被截断(在 RStudio 中)
【发布时间】:2016-08-16 11:27:10
【问题描述】:

我想将一个长字符串打印到 RStudio 控制台,这样它就不会被截断。

> paste(1:300, letters, collapse=" ")
[1] "1 a 2 b 3 c 4 d 5 e 6 f 7 g 8 h 9 i 
...
181 y 182 z 183 a 184 b... <truncated>

我认为这应该相当简单,但我不知道怎么做。我试过了

options(max.print = 10000)

并查看了print 帮助页面上的参数。仍然没有运气。

我必须更改哪些参数/设置才能实现此目的?

【问题讨论】:

  • 我猜它不会出现在 print 帮助页面上,因为它不是来自 R,而是来自 Rstudio。对于您的示例,R 控制台中不会发生截断。
  • FWIW,在 RStudio 0.99.486 中,对我的调用 paste() 的输出不会被截断(这可能已经过时了)。
  • 对我来说也一样。 RStudio 0.99.896 中没有 trucation,即使我在 OP 的代码中将 300 更改为 10,000。
  • 啊,好吧。我使用的是预览版 0.99.1130。所以也许它是一个新功能......

标签: r rstudio settings output-formatting


【解决方案1】:

这是 RStudio 特有的功能,旨在帮助解决打印过长字符串可能导致 IDE 迟缓的问题。 (我相信它是在最新版本 v0.99.896 中添加的)

您可以通过将Limit length of lines displayed in the console to: 选项设置为 0 来选择退出此截断(请参阅对话框中的最后一个选项):

【讨论】:

  • 这个选项在我的 Rstudio 中不可用,我使用的是 0.99.903 版本,这里是snapshot,如果您有任何代码或其他方式可以帮助您,谢谢!
  • 上面的答案在 RStudio 上是正确的。为了进入上面提到的屏幕,在 IDE 上方的 RStudio 选项卡中,选择Tools --&gt; Global Options...,然后按照推荐的步骤操作。请记住,这些是全局选项,因此请谨慎使用,对于大输出,这会显着降低 IDE 性能(有时会冻结)。
  • 是的。但是,如果您不小心打印了整个数据帧,例如,0(无限的控制台历史记录)可能会减慢您的速度并增加内存使用由于错字。最好选择一个较大的值,例如100,000。
猜你喜欢
  • 2015-03-06
  • 1970-01-01
  • 2017-08-17
  • 1970-01-01
  • 2016-07-23
  • 1970-01-01
  • 2013-02-10
  • 1970-01-01
  • 2021-08-26
相关资源
最近更新 更多