当我在 R 中(在标准命令行界面中)显示一个对象,并且该对象很长时,R 用消息剪切它
[ reached getOption("max.print") -- omitted 538 rows ]
但仍然设法弄乱我的终端。
对我来说,所需的行为如下:如果输出的行数超过 N,则输出将存储到临时文本文件中,并使用 less 显示文本文件。
解决方案原型使用capture.output
:
data(iris3)
t <- tempfile()
capture.output(print(iris), file=t)
system(paste0("less ", t))
它或多或少地做了我想要的,但是(i)与终端共享 max.print (不好!)并且(ii)当输出太大时不会自动运行。
有什么办法可以做到这一点?至少解决上面的(i)会有很大帮助(这样 capture.output 没有限制或有与终端不同的限制)。