2015-06-04 11 views
7

Questa è probabilmente una risposta facile, ma non riesco a trovare nulla online. C'è un modo semplice per copiare/incollare un tavolo dalla console R a un messaggio e-mail?Copia/incolla la tabella in gmail

+0

E farlo sembrare a metà strada decente, ovviamente ... – Alex

+2

Come l'interrogante non si dovrebbero usare commenti per chiarire la domanda. Ecco a cosa serve il collegamento [modifica]. Dovresti, comunque, chiarire con cosa si intende con la parola "tavolo". Stai cercando di incollare l'output dello schermo per un data.frame? Il problema del disallineamento delle colonne è dovuto a caratteri diversi? O ... cosa ... esattamente? –

+1

I lo scopo della posta è che il destinatario importi i dati in R, usare invece 'dput'. –

risposta

8

Io suggerirei di usare il Markdown Here estensione, disponibile per Chrome e Firefox (l'ultima volta che ho controllato). Utilizzato insieme a kable da "knitr" (già consigliato) è possibile ottenere una tabella ben formattata in pochi secondi.

Dopo l'installazione, è possibile trovare l'opzione "svincola contrassegno" nel menu di scelta rapida visualizzato con il pulsante destro del mouse durante la composizione di un'e-mail.

Ecco una GIF per mostrare i passaggi.

enter image description here

fai spesso? Salvare se stessi il passaggio di copia, almeno creando una funzione di supporto per scrivere negli appunti (questo è solo per Windows, ma è possibile specificare expand on the function se si desidera la compatibilità con altri sistemi operativi).

gmailTable <- function(indf) writeClipboard(capture.output(knitr::kable(indf))) 

Poi, in R, basta fare gmailTable(mtcars), passare a Gmail, incollare il contenuto degli appunti nella zona del messaggio, e Markdown ginocchiera come prima :-)

Tra l'altro, "Markdown Qui "ti permette anche di usare una scorciatoia per convertire qualsiasi cosa si trovi nell'area dei messaggi in HTML. Per impostazione predefinita, credo che sia ctrl + shift + m.

0

In RStudio, è possibile utilizzare View(table) ed evidenziare l'intera finestra e incollarla nell'e-mail. Ecco quello che sembrava per me con la cars set di dati: enter image description here

+0

Grazie, ma questo non funziona per due motivi: In primo luogo, non sembra altrettanto bello quando faccio copia/incolla. Forse qualcosa a che fare con l'utilizzo di Gmail? In secondo luogo, ho un tavolo twoway, e non lo stampa in un bel formato. – Alex

0

L'unica cosa che posso pensare è o andare in knitr/XTABLE/lattice o salvare il data.frame che si desidera visualizzare come file CSV e inviarlo come allegato nella tua e-mail. La prima opzione richiederà un grande sforzo per un solo tavolo, ma se pensi che potresti aver bisogno di questo genere di cose più spesso potrebbe valerne la pena.

2

userei knitr e kable a RStudio (New Markdown file di R, il formato di output HTML):

--- 
title: "attaching pretty R tables to your gmail message" 
date: "4 Jun 2015" 
output: html_document 
--- 

This is an example of a pretty table, produced with Knitr in RStudio: 

* RStudio: New file R markdown, output format html 
* open in (chrome) browser 
* save as complete html 
* attach the html to your gmail message 

```{r kable} 
library(knitr) 
carstable = head(mtcars) 
kable(carstable) 
``` 

Questo esempio published on RPubs