R: Función para exportar la trama R actualmente activa a Powerpoint / Word / LibreOffice

Actualmente siempre exporto mis gráficos R a Powerpoint en formato vectorial usando el excelenteReporteRs paquete, como en

library(ReporteRs)
myplot = function() print(qplot(Sepal.Length, Petal.Length, data = iris, color = Species, size = Petal.Width, alpha = I(0.7)))
doc = pptx()
doc = addSlide(doc, slide.layout = "Blank") 
doc = addPlot( doc, myplot, vector.graphic = TRUE, fontname="Arial",
               offx = 0.1*dim(doc)$slide.dim["width"], offy = 0.05*dim(doc)$slide.dim["height"], 
               width = 0.8*dim(doc)$slide.dim["width"], height = 0.9*dim(doc)$slide.dim["height"])
writeDoc( doc, "plot.pptx") 

Lo que encuentro inconveniente en este flujo de trabajo es que ahora tengo que ajustar mis comandos de trazado en una función (conprint() paralattice oggplot2 parcelas, o simplementereturn(plot()) para trazados base R), y que no me gusta tener que especificar manualmente los desplazamientos y el tamaño (generalmente prefiero obtener un gráfico centrado casi de relleno de página en mi diapositiva). Me preguntaba si en cambio no sería posible hacer tu trama primero (trama base R,lattice trama oggplot2 trazar) y luego definir una funciónexport2PPT que captura la salida de su dispositivo gráfico actual como una función y la pasa aReporteRs yaddPlot para exportar su trama como Powerpoint (centrado y adecuadamente escalado), en analogía para funcionardev.copy2pdf que funciona de la misma manera para exportar a PDF?

Y una vez que tenemos esa función, tal vez inclusomodificar elgrDevices código fuente de funcioneswindows () y savePlot () tener un comando adicional Archivo ... Guardar como Powerpoint si uno estaba usando elwindows() ¿dispositivo? ¿O es algo que la gente de R Core debe hacer?

Especialmente para usar en el aula, sería super útil, creo, dado el dominio de MS Office / LibreOffice. (ya que Powerpoint es mucho más fácil de editar que PDF, lo que permite realizar fácilmente pequeños cambios en el diseño final de los gráficos R, y la salida vectorial es al menos tan buena como PDF, además la transparencia también es totalmente compatible; para PDF encuentro que la importación en Inkscape a menudo es un poco defectuoso, a menos que uno use Adobe Illustrator)

¿Alguien que sepa cómo hacer esto?

EDITAR: Mientras tanto, encontré la solución, y envolví las funciones de exportación para exportar el diagrama R actualmente activo a PowerPoint en un paquete en CRAN, veahttps://cran.r-project.org/web/packages/export/index.html yhttps://github.com/tomwenseleers/export para uso de demostración. El paquete ahora usa el paquete oficial como backend, ya que ReporteRs está en desuso ...

Respuestas a la pregunta(0)

Su respuesta a la pregunta