En este primer post, te mostraré un sencillo script que realiza un análisis de frecuencia de los paquetes de R que he usado con mayor frecuencia. Haciendo este análisis sabrás cuales son tus paquetes de R más usados (called) de todo un conjunto de archivos de R (archivos .R y .Rmd). Usaré mi historial de archivos y scripts de R como ejemplo.

Al final del post, podrás ver lo resultados que he podido obtener usando los archivos R que he desarrollado desde 2012 hasta mediados de 2018, también te mostraré el código R que usé en caso de que quieras realizar el mismo análisis usando tus propios archivos.

Cubriremos estos sencillos pasos:

1) Cómo leer el contenido de todos los archivos de script R, y cómo buscar las palabras: library()require()
2) Cómo extraer cada paquete xxxxx que ha sido llamado con library(xxxxx)require(xxxxx) y guardarlo en una tabla
3) Luego agregaremos los paquetes
4) Y finalmente, pintaremos los resultados

Paso 1: listando todos los archivos

En primer lugar, hay que recuperar todos los archivos R y Rmd que quieras utilizar para el análisis de frecuencia de uso de paquetes. Para ello copiar todos los archivos en una carpeta, puede contener subcarpetas si lo deseas. Esta carpeta en este ejemplo (para OS X) será: ~/choose/your/working/directory/.

Luego abre RStudio y configura tu directorio de trabajo así:

Entonces el siguiente código listará todos los archivos que tengan la extensión “.R” o “.Rmd” ~/choose/your/working/directory/. Toda la ruta a estos archivos se almacenará en el vector FILES.

Paso 2: leyendo los archivos de R

El siguiente código leerá (usando una sentencia for-loop) todo el contenido de cada archivo o script, y extraerá el nombre de los paquetes que han sido llamados usando library(xxx)require(xxx). El resultado se almacenará en el marco de datos WDfreq.

Obtendrás un dataframe donde se muestran las siguientes columnas:

  • pk: Paquete R
  • rep: número de llamadas (calls) a los paquetes en cada archivo
  • file: R or Rmd nombre de archivo
  • size: tamaño del archivo en bytes
  • mtime: fecha y hora de la última modificación del archivo
  • year: año de la última modificación del archivo

Paso 3: agregando el nombre de los packages

A continuación, agregaremos los paquetes que tengan el mismo nombre (haré la suma en la columna rep) para tener un enfoque estadístico de los paquetes más frecuentes. Esto se puede hacer con la función ddply.

El resultado es una tidy table tal como:

Paso 4: pintando resultados

¡Ahora llega la parte más divertida! Así que tenemos nuestra tabla de datos lista para hacer algunas gráficas. Abajo encontrarás el código y los resultados usando ggplot2. Voy a dibujar mi TOP 50 de los paquetes más usados:

plot of chunk package_frequency_analysis-10

Finalmente, podemos obtener resultados realmente llamativos creando una gráfica de círculos, para ello he adaptado el código original que encontré en basic-circle-packing-with-one-level y hide-first-level-in-circle-packing. Puede que necesites instalar el paquete packcircles, el resultado se muestra a continuación.

plot of chunk package_frequency_analysis-11

Exportando la gráfica

Si quieres exportar el gráfico ejecuta:

Y eso es todo, espero que hayas disfrutado y te haya sido útil!


Session Info:

Appendix, all the code:

Share it!:

Leave a Reply

Your email address will not be published. Required fields are marked *