Conservar comentarios en gráficos para el análisis exploratorio de datos


8

Al realizar un análisis exploratorio de datos, a menudo imprimiré los gráficos y escribiré comentarios / anotaciones, etc.

¿Las personas tienen sugerencias para una mejor metodología electrónica? Estoy especialmente interesado en python / R.

Estoy buscando algo 'rápido (y sucio)' que no ralentice el trabajo exploratorio, pero que ayude a registrar las ideas que he hecho.

Lo que podría imaginar es generar gráficos como archivos PDF y luego agregar comentarios.

Idealmente, me gustaría la opción de hacer esto mediante programación, de modo que si rehago los gráficos pueda agregar los comentarios 'automáticamente'.


1
Lo que a veces hago Res agregar un diagrama separado (en una página separada al final del pdf) y usarlo para pastealgunos comentarios.
hplieninger

3
Esto se parece más a una pregunta de programación y si estoy en lo correcto, podría obtener mejores respuestas en R-help o StackOverflow
mdewey

1
@mdewey, bueno, lo veo como un flujo de trabajo estadístico en R: estoy de acuerdo en que mi 'solución sugerida' es solo 'cómo escribir comentarios en un pdf', pero supongo que los estadísticos han enfrentado este problema antes y podrían sugerir un enfoque totalmente diferente al problema general de hacer un seguimiento de las notas asociadas con los gráficos.
seanv507

3
Mis alumnos hacen esto sin preguntar pegando gráficos en MS Word y agregando comentarios. Aprecio el interés en los métodos automatizados que cantan y bailan, pero a veces la tecnología baja es la mejor tecnología.
Nick Cox

1
Creo que esto es de interés general. Me he tomado la libertad de diluir el énfasis en python / R, lo cual es contrario a las pautas aquí.
Nick Cox

Respuestas:


5

Aquí hay una solución fácil que muchas personas han encontrado útil. Si lo encuentras trivial, no estaré en desacuerdo. Esto atraviesa el software estadístico, el sistema operativo y otros detalles informáticos.

Simplemente copie y pegue sus gráficos en su procesador de texto o texto favorito y luego agregue sus propios comentarios. Eso podría significar MS Word, software compatible con TeX, LaTeX, etc.

Eso es. Claramente, las ventajas son la simplicidad (nada nuevo que aprender) y la flexibilidad (agregue lo que quiera de la manera que lo desee).

Esta no es una solución automatizada. Pero incluso las soluciones automatizadas dependen de que se les proporcione información en los gráficos y sus comentarios, entonces, ¿qué es eso diferente?


2
Creo que lo estás subestimando. Si, en lugar de "pegar", agrega un enlace a un archivo (como puede hacerlo en Word Latex, etc.), a medida que los gráficos se actualizan, el documento se actualiza, por lo que es "automatizado". Además, me gusta el hecho de que uno puede separar la generación de los gráficos del diseño (por ejemplo, ajustar 3 gráficos en una página frente a un diseño 2 x 2)
seanv507

3

Le recomiendo Jupyter Notebook , que le permite crear documentos que contienen bloques de código intercalados, diagramas y notas / documentación. El documento puede incluir rebajas y látex, que se procesa automáticamente (al igual que escribir en CrossValidated). Cuando ejecuta un bloque de código, cualquier salida de texto y trazado que genera se agrega en línea al documento. Puede cambiar un bloque de código y volver a ejecutarlo para actualizar la salida / gráficos. Esto es bueno para probar cosas de forma interactiva (por ejemplo, ajustar el código / parámetros para ver qué sucede). Creo que es más fácil que tener que exportar figuras y pegarlas en un documento tradicional y estático, especialmente si cambia algo. Puede exportar un cuaderno a PDF, etc. para obtener una copia estática.

Es de código abierto y funciona con Python, R y otros lenguajes. La interfaz está basada en el navegador, por lo que es multiplataforma y fácil de compartir portátiles. Puede ejecutar el back-end en su propia máquina, o puede alojar portátiles en un sitio web para que usted / otros puedan editarlos / verlos / ejecutarlos desde cualquier lugar (el código se ejecutará en el servidor). Aparentemente, hay una forma de configurar el portátil como la interfaz de un clúster de cómputo para cálculos paralelos.


Lo he intentado en numerosas ocasiones, pero no estoy realmente convencido de que haya funcionado muy bien: combinar código / gráficos / documentación y garantizar que todo sea legible parece muy difícil en la práctica. He visto presentaciones donde se ha hecho esto, pero sospeché que el esfuerzo involucrado es considerable (como para cualquier presentación). Mi punto sobre EDA es que está haciendo muchos gráficos, etc., demasiados para presentar ... en una presentación, muestra lo mejor. Agradecería ejemplos que contradicen mi impresión.
seanv507

2

Tiendo a hacer más y más análisis R notebooksdentro de RStudio. De esta manera, puedo tener código, anotaciones y gráficos juntos en un solo lugar y no tener que producir archivos PDF todo el tiempo, lo que es un ahorro de tiempo real. Escribe texto y código en un editor y al hacer clic en un botón, el código se ejecuta (y se dibuja el gráfico) en su lugar. De modo que el texto, el código y la trama se mantienen perfectamente juntos. También es muy fácil convertir a HTML o PDF haciendo clic con el mouse. No sé qué tan bien funciona esto con Python, ya que uso principalmente R.


2

Parece que quieres algún tipo de programación alfabetizada . Rofrece Sweave y Knitr esa interfaz con LaTeX . Existen otras opciones para diferentes tipos de formatos de salida, como ODFweave para documentos editables (como documentos de Word) y RMarkdown que pueden generar múltiples tipos (como HTML además de los mencionados anteriormente). Otro software estadístico comúnmente tiene características análogas.

(Hay un poco de trabajo inicial en el uso de estos. Por lo general, hago proyectos únicos en lugar de proyectos a más largo plazo que requieren informes regulares y similares, por lo que generalmente uso el método de @ NickCox de volcar o copiar en un archivo y escribiendo comentarios a su alrededor.)


1

En R: A veces agrego un diagrama adicional a un pdf con información básica. Esto es más útil si las anotaciones son cortas y se relacionan con los datos de la trama de modo que pueda pasteobtener información adicional. Por ejemplo:

pdf("cars-plots.pdf")
plot(cars)
plot.new()
legend("center", bty = "n", legend =
           paste0("Data: 'cars'\n",
                  "cor = ", round(cor(cars)[1, 2], 2), "\n",
                  "N = ", nrow(cars), "\n",
                  Sys.Date()))
dev.off()

Alternativamente, si tiene anotaciones más largas, producir un informe usando R Markdown podría ser una solución.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.