【问题标题】:Word-wrapping in the R environment for WindowsWindows 的 R 环境中的自动换行
【发布时间】:2010-11-30 14:39:32
【问题描述】:
(代表我们湾区 R 组的成员提出这个问题。当我在 Emacs 中运行 ESS 时,我没有现成的答案。我认为这个问题是指在附带的命令行环境中运行 R标准 Windows 发行版)。
我是 R 新手,但我在寻找答案时发现没有任何关于自定义 R 的内容,以便我可以更快地工作。
我的一个主要问题是在 Windows XP 上运行的版本中缺少自动换行。我注意到我使用 Mac OS 的朋友有自动换行功能。
有没有办法在 Windows 机器上运行的 R 中启用自动换行?
【问题讨论】:
标签:
windows
r
customization
【解决方案1】:
我认为问题发生在长字符串上。这里我创建了一个字符向量:
> z <- "zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"
然后,在 Windows 上,根据显示大小,它将如下所示:
> z
[1] "zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz zzzzzzzzzzzzzzzzzzzzzzz$
末尾带有 $ 符号。设置宽度选项对长字符向量没有影响。事实上,在 Windows GUI 中,默认情况下它会在调整大小时自动设置选项(宽度)。
我认为没有任何全局选项可以解决此问题。您可以尝试使用 strwrap() 函数。
> strwrap(z, width=60)
[1] "zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz" "zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"
[3] "zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz" "zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz"
【解决方案2】:
Shane 指出这不适用于 Windows R 应用程序,因此我将其标记为 CW,以防其他平台上的某人偶然发现此问题。
我没有方便的 Windows 来试用它,但您可以使用 options(width=XXX) 来完成自动换行。
> rnorm(20)
[1] 1.5096142 2.5213651 1.6129801 1.2328282 0.1099109 0.7681205
[7] 0.7408279 0.1853688 0.2679453 -1.4006292 0.5178583 -0.8838526
[13] -1.5162541 -1.5603825 -0.7217159 2.3466593 0.7382550 1.6618710
[19] 1.3201585 0.2872295
> options(width=50)
> rnorm(20)
[1] -0.990605829 -1.479986280 -0.670011156
[4] 1.545288381 1.749429922 -0.386976121
[7] 0.152663018 0.537898605 0.307018436
[10] -1.214402678 -0.066987719 -0.003181806
[13] 0.775656734 -1.084597991 1.419298825
[16] 1.634812239 -0.234720361 -1.232159240
[19] -0.560096460 0.167267767
这里是选项的 R 帮助,供参考:
'width':控制最大数量
行中使用的列数
打印向量、矩阵和数组,以及填充时
'猫'。
列通常与字符相同,但 CJK 除外
语言。
如果您重新调整 R 的窗口大小,您可能需要更改此设置
正在运行。有效值为 10...10000,默认值为
通常为 80。(有效值的限制在文件中
'Print.h' 并且可以通过重新编译 R 来更改。)一些 R
控制台会自动更改值
调整大小。
【解决方案3】:
好吧,我也试过了,但是他们在 Windows GUI 中使用的组件显然没有这个功能。 Mac 菜单中的自动换行选项在哪里?