Ich frage mich, wie man R-Diagramme in MS Word umleiten kann? Wie sink()
die R-Ausgabe in eine beliebige Datei umleiten, nicht aber die Diagramme. Ich habe R2Wd ausprobiert, aber manchmal funktioniert es nicht richtig. Jeder Kommentar und jede Hilfe wird sehr geschätzt. Danke
Antworten
Zu viele Anzeigen?Um Ihre direkte Frage zu beantworten: Der beste Weg, die Ergebnisse von R-Skripten und Plots in Word zu übertragen, ist wahrscheinlich eine Form von Weben . Nachschlagen odfweave um die R-Ausgabe an eine LibreOffice Datei, die dann in Word konvertiert oder sogar direkt in Word geöffnet werden kann, wenn Sie das richtige Plugin haben.
Um Diagramme zu erstellen, die bearbeitet werden können (d. h. Sie können das Aussehen der Diagramme ändern, die Legende verschieben usw.), würde ich empfehlen, das Diagramm in einem svg-Format (skalierbare Vektorgrafik) zu speichern, das Sie dann mit der ausgezeichneten kostenlosen Vektorgrafik-App bearbeiten können inkscape .
Wenn ich zum Beispiel mein ggplot2-Diagramm als ein Objekt erstelle
library(ggplot2)
dataframe<-data.frame(fac=factor(c(1:4)),data1=rnorm(400,100,sd=15))
dataframe$data2<-dataframe$data1*c(0.25,0.5,0.75,1)
testplot<-qplot(x=fac, y=data2,data=dataframe, colour=fac, geom=c("boxplot", "jitter"))
Sie können das Cairo-Paket verwenden, das die Erstellung von svg-Dateien ermöglicht, die ich dann in Inkscape bearbeiten kann.
library(Cairo)
Cairo(600,600,file="testplot.svg",type="svg",bg="transparent",pointsize=8, units="px",dpi=400)
testplot
dev.off()
Cairo(1200,1200,file="testplot12200.png",type="png",bg="transparent",pointsize=12, units="px",dpi=200)
testplot
dev.off()
Weitere Informationen finden Sie in dieser früheren Frage, die weitere gute Antworten enthält Editierbare Diagramme aus R erstellen
Sie können auch diesen Rat von Hadley befolgen und das eigentliche ggplot2-Objekt speichern, es später laden und verändern
save(testplot, file = "test-plot.rdata")
# Time passes and you start a new R session
load("test-plot.rdata")
testplot + opts(legend.position = "none")
testplot + geom_point()
Um ein sink()-ähnliches Verhalten mit MSword zu erhalten, schauen Sie sich die wdTxtStart
Funktion in der TeachingDemos
Paket. Es verwendet R2wd intern, so dass Sie eine ähnliche Funktionalität sehen, es sendet nur alles, was Sie tun, an das Word-Dokument.
Die Diagramme werden nicht automatisch gesendet, da Sie sie möglicherweise ergänzen, aber sobald Sie wissen, dass Sie mit dem Diagramm fertig sind, können Sie wdtxtPlot
um das aktuelle Diagramm an das Word-Dokument zu senden.
Wenn Sie schon vorher wissen, was Sie tun wollen, dann sweave
oder etwas Ähnliches ist wahrscheinlich der bessere Ansatz (wie bereits erwähnt wurde). Die Gruppe, die Rexcel entwickelt hat, arbeitet auch an Sword, das innerhalb von MSword ähnliche Dinge tut.