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.