2015-06-04 14 views
7

Dies ist wahrscheinlich eine einfache Antwort, aber ich kann nichts online darüber finden. Gibt es eine einfache Möglichkeit zum Kopieren/Einfügen einer Tabelle von der R-Konsole in eine E-Mail-Nachricht?Kopieren/Einfügen Tabelle in Gmail

+0

Und bekommen Sie es auf halbwegs anständig aussehen, natürlich ... – Alex

+2

Als der Fragesteller sollten Sie keine Kommentare verwenden, um die Frage zu klären. Das ist der Link [Bearbeiten] ist für. Sie sollten jedoch klären, was mit dem Wort "Tabelle" gemeint ist. Versuchen Sie, die Bildschirmausgabe für einen dat.frame einzufügen? Ist das Problem mit der Fehlausrichtung von Spalten aufgrund unterschiedlicher Schriftarten? Oder ... was ... genau? –

+1

I der Zweck der Mail ist für den Empfänger zu importieren Sie Ihre Daten in R, verwenden Sie "dput" statt. –

Antwort

8

Ich würde vorschlagen, die Markdown Here Erweiterung für Chrome und Firefox (Das letzte Mal, als ich überprüft habe). In Verbindung mit kable von "knitr" (bereits empfohlen) können Sie eine schön formatierte Tabelle in Sekunden erhalten.

Nach der Installation können Sie beim Erstellen einer E-Mail in Ihrem Kontextmenü eine Option "Abschrift umschalten" finden.

Hier ist ein GIF, um die Schritte zu zeigen.

enter image description here

Sie oft das? Speichern Sie sich den Kopierschritt zumindest durch Erstellen einer Hilfsfunktion zum Schreiben in die Zwischenablage (das ist nur Windows, aber Sie können expand on the function, wenn Sie die Kompatibilität mit anderen Betriebssystemen wollte).

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

Dann in R, nur gmailTable(mtcars) tun, wechseln Sie zu Google Mail, fügen Sie den Inhalt der Zwischenablage in den Nachrichtenbereich, und Abschlags Toggle wie vor :-)

By the way, „Markdown Hier können Sie auch eine Verknüpfung verwenden, um das, was sich im Nachrichtenbereich befindet, in HTML zu konvertieren. Standardmäßig glaube ich, es ist ctrl + shift + m.

0

In RStudio können Sie View(table) verwenden und das gesamte Fenster markieren und in Ihre E-Mail einfügen. Hier ist, was es sah aus wie für mich mit dem cars-Datensatz: enter image description here

+0

Danke, aber das funktioniert nicht aus zwei Gründen: Erstens sieht es nicht fast so schön, wenn ich kopiere/einfügen. Vielleicht etwas mit Google Mail zu tun? Zweitens habe ich einen zweiwöchigen Tisch, und es wird nicht in einem schönen Format ausgedruckt. – Alex

0

Das einzige, was ich denken kann, ist entweder gehen in knitr/XTABLE/Latex oder die data.frame speichern, die Sie als CSV-Datei angezeigt werden soll und Sende das als Anhang in deine E-Mail. Die erste Option erfordert eine Menge Aufwand für nur einen Tisch, aber wenn Sie denken, dass Sie diese Art von Dingen öfter brauchen könnten, könnte es die Zeit wert sein.

2

würde ich knitr und Kable in RStudio (Neuen Datei R Abschlag, Ausgabeformat HTML) verwenden:

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

Dieses Beispiel published on RPubs