【发布时间】:2010-11-13 10:28:01
【问题描述】:
这可能看起来很琐碎,但它会影响我的工作效率。我在 Linux 上以终端模式使用 R。与 Windows IDE 不同,Linux 将列数限制为 80,从而使数据集的检查更加困难。有没有办法设置最大列数?
【问题讨论】:
-
所以这些解决方案似乎都不适用于 StatET?
标签: r
这可能看起来很琐碎,但它会影响我的工作效率。我在 Linux 上以终端模式使用 R。与 Windows IDE 不同,Linux 将列数限制为 80,从而使数据集的检查更加困难。有没有办法设置最大列数?
【问题讨论】:
标签: r
您可以使用 TK gui,我认为选项是 --ui=TK 或类似的东西。
或者在终端中使用它是一个硬性要求?
【讨论】:
用类似的东西设置它
options("width"=200)
这实际上是我在 ~/.Rprofile 中的内容。有关详细信息,请参阅帮助(选项)。
【讨论】:
从 Brendan O'Connor 的 util.R (http://github.com/brendano/dlanalysis/blob/master/util.R) 中窃取一个想法,您可以使用 stty 命令让您的 R 终端设置默认宽度。重新编写他的脚本以在 linux 上工作,你会得到以下性感的 1 班轮:
options(width=as.integer(system("stty -a | head -n 1 | awk '{print $7}' | sed 's/;//'", intern=T)))
【讨论】:
options(width=as.integer(system("stty -a | head -n 1 | awk '{print $6}'", intern=T)))
tput cols 的答案。
这是我的~/.Rprofile 文件中的一个函数:
wideScreen <- function(howWide=Sys.getenv("COLUMNS")) {
options(width=as.integer(howWide))
}
调用不带howWide 参数的函数会将列设置为终端的宽度。您可以选择传入参数以将宽度设置为您选择的任意数字。
几乎像 Josh 的建议,但没有那么神奇 :-)
【讨论】:
.Rprofile 执行此操作,乔希的作品,但事实并非如此。显然Sys.getenv("COLUMNS") 在运行.Rprofile 时还不起作用。因此,仅当您不希望自动调用 wideScreen() 时,此答案才有帮助。
wideScreen() 以便它被自动调用,你必须确保它是一个环境变量。尝试在终端中输入env | grep COLUMNS,如果您没有看到任何内容,则将export COLUMNS 添加到您的.bash_rc 文件中。
wideScreen,它可以工作,然后缩小它,调用wideScreen,它又可以工作了......
echo $COLUMNS) 中更新。但是,如果我启动非 GUI R,然后执行 Sys.genenv("COLUMNS"),并在不退出 R 的情况下调整大小,则不会更新 COLUMNS env var。而且我认为这就是它应该工作的方式,我认为 bash 不应该在调整大小时更新所有子进程的环境变量。奇怪的是你看到的不一样。 OSX 与 Linux 的对比?
我用这个:
wideScreen <- function(howWide=as.numeric(strsplit(system('stty size', intern=T), ' ')[[1]])[2]) {
options(width=as.integer(howWide))
}
因为COLUMNS 环境变量和tset 在调整窗口大小时不会更新,但stty size 会更新。
【讨论】:
将此行插入您的~/.Rprofile
options(width=system("tput cols", intern=TRUE))
【讨论】: