Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Copy an R data.frame to an Excel spreadsheet

Tags:

copy

r

excel

I have a question which is exactly similar to this question.

As part of my work, I have to copy output from the R Studio Console to an excel worksheet in order to make excel graphs. However, the R Studio Console uses formatted text, which excel doesn't read so well. To compensate, I'm always copying from the R Studio Console, pasting into notepad, then copying into Excel. That way, when I paste a table, I can tell excel that it's actually fixed width delimited data, and not just a clump of text.

How can I copy output from the R Studio console so that it goes into the clipboard as unformatted text so that I can paste it directly into Excel and thus organize the numbers into different cells? This would be very helpful as I dislike having to copy/paste tables into notepad then excel to make graphs.

like image 254
user2543622 Avatar asked Jul 11 '14 18:07

user2543622


2 Answers

It works with an easy trick.

First, you have to visualize your data in the Viewer pane of Rstudio (you can use the function View()), then you should start selecting from the last value to the first, it is from bottom to top (see image). Note that the first cell should be selected completely. Finally, right click on the selection, copy, and then paste it in Excel as you want, with or without format.

enter image description here

Good luck!

UPDATE:

based on this Post, other alternative is making a new function to copy your data.frame to Excel through the clipboard:

write.excel <- function(x,row.names=FALSE,col.names=TRUE,...) {   write.table(x,"clipboard",sep="\t",row.names=row.names,col.names=col.names,...) }  write.excel(my.df) 

and finally Ctr+V in Excel :)

like image 161
2 revs Avatar answered Sep 21 '22 12:09

2 revs


This is by far the easiest way I have found so far:

clipr::write_clip(my_df)

source here

like image 33
alex_1_d Avatar answered Sep 19 '22 12:09

alex_1_d