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.