How to increase the number of columns using R in Linux
This may seem menial, but it affects my productivity. I am using R in terminal mode on Linux. Unlike the Windows IDE, Linux limits the number of columns to 80, thus making harder the inspection of data sets. Is there a way to set the max number of columns?
Here is a function I have in my ~/.Rprofile
file:
wideScreen <- function(howWide=Sys.getenv("COLUMNS")) {
options(width=as.integer(howWide))
}
Calling the function without the howWide
argument sets the column to be the width of your terminal. You can optionally pass in the argument to set the width to an arbitrary number of your choosing.
Almost like Josh's suggestion, but less magic :-)
Set it with something like
options("width"=200)
which is in fact what I have in ~/.Rprofile. See help(options) for details.
Stealing an idea from Brendan O'Connor's util.R (http://github.com/brendano/dlanalysis/blob/master/util.R), you can get your R terminal to set the default width using the stty command. Remunging his script to work on linux, you get the following sexy 1 liner:
options(width=as.integer(system("stty -a | head -n 1 | awk '{print $7}' | sed 's/;//'", intern=T)))
Insert this line to your ~/.Rprofile
options(width=system("tput cols", intern=TRUE))
I use this:
wideScreen <- function(howWide=as.numeric(strsplit(system('stty size', intern=T), ' ')[[1]])[2]) {
options(width=as.integer(howWide))
}
Because the COLUMNS
environment variable, and tset
, aren't updated when the window is resized, but stty size
is.