gappy
gappy

Reputation: 10253

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?

Upvotes: 69

Views: 21780

Answers (6)

plhn
plhn

Reputation: 5273

Insert this line to your ~/.Rprofile

options(width=system("tput cols", intern=TRUE))

Upvotes: 16

Martin C. Martin
Martin C. Martin

Reputation: 3682

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.

Upvotes: 13

Steve Lianoglou
Steve Lianoglou

Reputation: 7273

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 :-)

Upvotes: 69

Josh Reich
Josh Reich

Reputation: 6617

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)))

Upvotes: 18

Dirk is no longer here
Dirk is no longer here

Reputation: 368629

Set it with something like

options("width"=200)

which is in fact what I have in ~/.Rprofile. See help(options) for details.

Upvotes: 47

fortran
fortran

Reputation: 76157

You can use the TK gui, I think the option was --ui=TK or something like this.

Or is it a hard requirement to use it in the terminal?

Upvotes: 0

Related Questions