On Tue, 8 Mar 2011, Thaler,Thorn,LAUSANNE,Applied Mathematics wrote:

Helas, it is Windows (Vista). I thought Excel was already a hint, but I
reckon that Excel can run on Mac Os as well ;)

It can, and I was writing that message on Mac OS X, where "clipboard" does not work.

However, read.delim("clipboard") does the trick. Thanks a lot. I was not
successful with read.DIF("clipboard") though. How to use that?

You need to send DIF to the clipboard. I'm not an Excel user (although I do have it on this Mac), so I don't know how to do that -- but as the author of read.DIF mentions support for "clipboard", some programs presumably can.


-----Original Message-----
From: Prof Brian Ripley [mailto:rip...@stats.ox.ac.uk]
Sent: mardi 8 mars 2011 10:43
To: Thaler,Thorn,LAUSANNE,Applied Mathematics
Cc: r-help@r-project.org
Subject: Re: [R] Read data.frame from clipboard

You haven't told us your OS.  But assuming Windows, why not use

read.delim("clipboard")

or

read.DIF("clipboard")

?


On Tue, 8 Mar 2011, Thaler, Thorn, LAUSANNE, Applied Mathematics
wrote:

Hi everybody,



I find myself quite often in the situation that I want to copy data
from
Excel to R on the fly. If the source consists only of a single
column, I
usually do something like



<copy column in Excel>

x <- as.numeric(readClipboard())



If I have a matrix, I usually export this matrix to a csv file
first.
This approach works fine. However, sometimes I want to do some quick
checks and for these cases I don't like the file approach, as I do
not
want to clutter up my working directory with temporary  files.



If you copy a matrix to the clipboard, you get a text file,
separated
by
tabs (at least in my locale here). So I wrote this wrapper in order
to
alleviate copying btw Excel and R. Since I want to rely on the nifty
R
ability to transform text columns to factors while leaving numerical
columns as they are, I first of all write the data to a file
connection,
from where I read using read.table.



readClipboardDf <- function(token = "\t", ...) {

 text <- readClipboard()

 mat <- t(as.matrix(do.call(rbind, strsplit(text, token))))

 fh <- file()

 write(mat, fh, nrow(mat))

 mat <- read.table(fh, ...)

 close(fh)

 mat

}



However, this approach uses a file connection as well, so it does
not
really change things (besides that it does things in one single
step),
so any comments appreciated of how I could do this Excel to R thing
quickly preferably without any file transactions.



Thanks for your help.



BR Thorn


        [[alternative HTML version deleted]]

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-
guide.html
and provide commented, minimal, self-contained, reproducible code.


--
Brian D. Ripley,                  rip...@stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595


--
Brian D. Ripley,                  rip...@stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to