【发布时间】:2016-02-09 03:06:32
【问题描述】:
我刚刚在 RStudio 中发现了wid <- options()$width,它似乎是我日常控制台使用中很多烦恼的根源(或者更确切地说,更接近根源)。我应该提前说,我目前使用的是 R 3.2.2、RStudio 0.99.491、Linux Mint 17.3(基于 Ubuntu 14.04.3 LTS 构建)
据我了解,wid 应该以字符为单位来衡量——如果wid 等于 52,比如说,那么一个人应该能够在屏幕上显示两次字母表(给定固定宽度的默认字体) ),但情况似乎并非如此:
如您所见,尽管 wid 等于 52,但我无法将字母表填入两次——我想出了 6 个字符。我还注意到,这意味着它不是仅仅因为存在命令提示符箭头和空格 (> )。
这个问题似乎有点成比例——如果我的wid 最多为 78 个,我只能容纳 70 个字符;最多 104、93,所以wid 的折扣相当一致,约为 88%(旁注:这也表明我的假设 wid 以字符为单位可能是正确的)。
这带来的问题是控制台输出经常溢出超出预期的行,使输出变得丑陋且难以消化;举个例子,简单的剪断setDT(lapply(1:30, function(x) 1:3))[] 为我生成:
我似乎很清楚,尝试在实际不可用的屏幕宽度上进行输出 - 在内部,用于打印的屏幕宽度大于实际存在的宽度。
这给我留下了三个问题:
-
options()$width是如何确定的? - 为什么总是出错?
- 我们可以做些什么来覆盖这个错误?
【问题讨论】: