En R, ¿cuál es el mejor controlador de gráficos para usar los gráficos en Microsoft Word?

10

Utilizo R para hacer gráficos bien definidos que utilizo en documentos de Microsoft Office. Según esta página , la mejor calidad se obtiene con el controlador PDF. Desafortunadamente, Word no admite la importación de figuras PDF. ¿Qué debo usar?

static_rtti
fuente
1
Puede poner figuras PDF en Word. Use "Insertar objeto". Nota al margen: si nunca antes ha usado LaTeX, le recomiendo que lo pruebe como una alternativa a MS Word.
mark999
1
@ mark999: Gracias por su sugerencia. Lo intenté, pero desafortunadamente no pude obtener nada mejor que un ícono de pdf en el documento. Tengo que usar Word en este contexto porque trabajo con otras personas que usan Word. LaTeX es agradable, pero no es para todos los proyectos ni para todos.
static_rtti
44
@ mark999 LaTeX simplemente no es una opción para colaborar con personas no matemáticas. Como explica Gavin Simpson, se pueden incorporar gráficos de alta calidad en los documentos de Word eligiendo los formatos adecuados.
whuber
3
@ mark999 Lamentablemente tengo que estar de acuerdo con whuber. LaTeX no es realmente una opción fuera de unos pocos campos, e incluso los que son bastante intensivos en matemáticas aún usan Word como predeterminado. Lo consideré por un tiempo, luego lo dejé porque era más problema de lo que valía la pena colaborar.
Fomite
1
@whuber, estoy de acuerdo contigo, y EpiGrad estoy parcialmente de acuerdo contigo. Probablemente escribo el 90% de mi escritura en LaTeX y el resto en MS Word (solo uso Word cuando no tengo otra opción). static_rtti: No sé qué te pasa, porque he puesto archivos pdf en documentos de Word sin ningún problema.
mark999

Respuestas:

4

Si está trabajando en una PC, es bastante conveniente insertar figuras en documentos de Office en formato emf a través del portapapeles.

emf es un formato de gráficos vectoriales nativos de Windows y le permite editar las figuras con las herramientas de MS Office. No es perfecto, pero es una forma rápida de generar un informe simple.

Si sus documentos son complicados, el manejo de figuras de MS Word es horrible.

Leo Schalkwyk
fuente
12

Depende de cómo usará sus documentos de Word y qué tipos de figuras desea incluir en el documento.

Si las cifras son gráficas R estándar con un número moderado de puntos / datos, los formatos basados ​​en vectores proporcionarán la mejor reproducción y permitirán una fácil reescalada del tamaño de la imagen al tiempo que tienen un tamaño de archivo pequeño. EPS postscript(...., onefile = FALSE, paper = "special")en estos casos sería el mejor formato si está imprimiendo en un PDF o imprimiendo en una impresora láser que conoce PostScript. Desafortunadamente, Word usa un complemento de terceros para cargar figuras EPS que produce una vista previa de mapa de bits de baja resolución que se muestra en la pantalla; sin embargo, cuando se imprime se obtiene el EPS de alta calidad.

Si los gráficos se pueden considerar rásteres (gráficos de superficie o gráficos de imagen [mapas de calor] con una gran cantidad de "píxeles"), o si los gráficos contienen una gran cantidad de puntos, la retención de la información del vector para tales gráficos dará como resultado un gran tamaño de archivo y altos costos de procesamiento para cargar en Word y almacenar en la memoria mientras trabaja en el documento. En tales casos, usaría un TIFF de alta resolución o un PNG a través de tiff()o png()respectivamente. Consulte los archivos de ayuda para obtener ayuda para configurar el tamaño de la imagen en píxeles y la resolución. Estos dispositivos representarán la figura como una imagen de mapa de bits, que si se le da un tamaño / resolución suficiente tolerará cierta cantidad de reescalamiento, pero tenderá a almacenarse de manera mucho más eficiente cuando el número de puntos de datos o celdas sea muy grande.

Considere también que no todos los dispositivos admiten transparencia, en gran parte porque los formatos de archivo subyacentes no lo permiten; postscript()no es compatible con la transparencia, pdf()y lo png()hace. cairo_ps()admite la transparencia, pero al hacerlo producirá una imagen de mapa de bits en formato EPS, que podría no ser lo que desea.

Tenga en cuenta que si guarda su documento en PDF, las cifras de mapa de bits se reducirán hasta cierto punto. Olvidé cómo Word controla esto, pero tenía dos configuraciones en el cuadro de diálogo Guardar cuando se seleccionó el tipo de PDF y una de ellas disminuirá las imágenes para producir un tamaño de archivo más pequeño. Esto se asociará con una pérdida de calidad, así que tenga cuidado con la opción que elija. Esto no es específico de Word: OpenOffice.org y LibreOffice tienen las mismas características, pero ofrecen un control mucho más detallado de cómo se comprimen las imágenes y si se comprimen o no. Esto surge porque el PDF fue diseñado tanto para la reproducción en pantalla como en impresora. No necesita la alta resolución en las imágenes si se muestra en la pantalla para la web. Las imágenes de mayor resolución dan como resultado tamaños de archivo más grandes, por lo que se puede establecer el destino previsto del PDF,

Gavin Simpson
fuente
1
Gracias, buen consejo. PostScript parece hablar bien a Word para imprimir. Desafortunadamente, la pobre vista previa en la pantalla es un problema no trivial. En mi entorno, muchos documentos de Word se envían y se leen en la pantalla.
Peter Ellis
7

Si estás en Windows prueba win.metafile. Es un formato vectorial, si no recuerdo mal, y funciona muy bien con Word.

mpiktas
fuente
5

Los gráficos R en Windows pueden ser bastante complicados. El mayor problema que tengo es que el suavizado no funciona correctamente en Windows. Por alguna razón, necesito usar el complemento de dispositivo Cairo para obtener un formato agradable.

He probado el paquete Cairo y cairoDevice y actualmente considero que el cairoDevice es el más fácil y confiable, hay una publicación de StackOverflow sobre esto.

Para usar el paquete cairoDevice todo lo que necesita es:

# Create the device
Cairo_png(filename="my_file_name.png",
    width=16,
    height=16,
    pointsize=18)
# Do a plot
plot(x, y)
# Saves the file
dev.off()

También puede guardar en formato PDF / svg y luego usar Inkscape para editar su gráfico, cambiar fuentes, etc. y luego exportarlo a formato png.

Max Gordon
fuente
Si. Un dispositivo png de El Cairo es lo que he encontrado que produce los gráficos de mejor aspecto para la visualización en pantalla en un documento de Word. En las máquinas para las cuales capabilities("cairo")es TRUE, alternativamente, puede usar png(..., type="cairo")o tal vez algo así como png(..., type="cairo", res=200)obtener una salida similar.
Josh O'Brien
1
@ JoshO'Brien - Buen punto. Desde mi respuesta original, escribí dos publicaciones de blog sobre este tema: gforge.se/2013/02/exporting-nice-plots-in-r y gforge.se/2013/03/exporting-plain-lattice-or-ggplot
Max Gordon
Super, gracias por los enlaces. De alguna manera me había perdido la units="in"opción hasta que los leí. Ojalá hubiera sabido que hace un año o dos, o 10! Dado que la suya es la mejor respuesta aquí, podría valer la pena editarla o agregar una actualización sobre la type="cairo"opción con el dispositivo incorporado, especialmente teniendo en cuenta sus ventajas incluso en relación con las funciones del paquete de El Cairo ...
Josh O ' Brien
3

PDF, ps, SVG o eps son dispositivos gráficos basados ​​en vectores . JPG, TIFF, PNG, ... etc son gráficos de trama. Cuando se trata de gráficos de trama, la compensación es entre el tamaño y la calidad. Al ajustar el ancho, la altura y otros formatos, puede mantener una alta calidad en los gráficos ráster . Puede tomar el formato PNG o JPG para insertar la imagen.

Se pueden insertar imágenes SVG en el documento MSWORD. Puedes comprobar esto .

vinux
fuente
Tenga en cuenta que el dispositivo svg de R a veces le da ráster cuando no lo espera.
Thomas Levine
2

La forma más fácil de migrar es elegir .pngarchivos, yo también. Sin embargo, la palabra los muestra bastante borrosos, al menos en mi caso. Cuando estaba usando Eviews probé lo .epsque resultó en un conjunto de problemas, pero la calidad fue mejor. Creo que al final tienes que elegir entre el menor de los dos males.

Seb
fuente
Creo que el desenfoque se debe al algoritmo de escalado de Word. Es posible que tenga mejores resultados al cambiar el tamaño de un programa de edición de imágenes antes de insertarlo para que Word lo muestre al 100%.
James
o cree el archivo png en el tamaño deseado en primer lugar. Los valores predeterminados son width = 480, height = 480, units = "px", pointsize = 12,pero puedes cambiarlos en tu script R
Henry
2

Esto no responde directamente a su pregunta, pero se puede conseguir una mejor integración entre R y MS Word utilizando el paquete R R2wd o el software comercial Inferencia para R . Proporcionan una integración directa similar a Sweave de R y MS Word, eliminando cortar y pegar o guardar y cargar, y facilita la actualización de trazados en el documento desde la línea de comandos. No he usado estos, pero sí uso Sweave y recomiendo programación alfabetizada , que es compatible con todas estas herramientas.

Sweave es la herramienta de programación literaria más utilizada entre los usuarios de R. Es LaTeX + R, y así es como se escriben las viñetas R y muchos libros y artículos de revistas.

Las herramientas de Word + R prometen una interfaz menos desalentadora para los nuevos usuarios. LaTeX tiene una curva de aprendizaje más pronunciada que Word.

Sin embargo, a $ 199 / año, la inferencia de R hace que sea difícil para otros reproducir sus análisis, a diferencia de Sweave, que es parte de la base R.

David LeBauer
fuente