jueves, 16 de julio de 2015

Estructura de red de CRAN

La estructura de la red de CRAN

Por Andrie de Vries - R-Bloggers

Mi experiencia de UsUARio! 2015 llegó a su fin poco después de dar una presentación Caleidoscopio discutir "la estructura de red de CRAN".

Mi charla basó en dos entradas del blog anteriores, Encontrar los Finding the essential R packages using the pagerank algorithmFinding clusters of CRAN packages using igraph.

Sin embargo, en esta charla me fui más allá, tratando de crear una sola visualiziation de todos ~ 6700 paquetes en CRAN. Para ello, hice todos los análisis en R, entonces exportado un archivo GraphML, y usé Gephi para crear una visualización de la red.

Mi primera versión de la gráfica era en un solo color, donde cada nodo es un paquete, y cada segmento es una dependencia de otro paquete. Aunque este gráfico indica áreas densas, revela poco de la estructura más profunda de la red.



CRAN-pc

Para examinar la estructura más de cerca, hice dos cosas:

Utilice el algoritmo page.rank () para calcular paquete importancia, luego cambió el tamaño de fuente para que más paquetes "importantes" tienen un tipo de letra más grande
Se utiliza el algoritmo walktrap.community () para asignar colores a los "clusters". Este algoritmo utiliza caminatas aleatorias de un tramo corto de encontrar grupos de nodos conectados densamente
CRAN color



Esta imagen (haga clic para agrandar) destaca claramente varios grupos:


  • MASS, en amarillo. Se trata de un gran grupo de paquetes que incluye celosía y Matrix, junto con muchos otros que parecen exponer funcionalidad estadística
  • RCPP, en azul claro. RCPP permite a cualquier paquete o secuencia de comandos para utilizar el código C ++ para código altamente performante
  • ggplot2, en azul más oscuro. Este grupo, a veces llamado el Hadleyverse, contiene paquetes como plyr, dplyr y sus dependencias, por ejemplo, escalas y RColorBrewer.
  • sp, en verde. Este cúmulo contiene un gran número de paquetes que exponga las características estadísticas espaciales, incluyendo spatstat, mapas y mapproj

Resulta que RCPP tiene un rango de página ligeramente superior a MASS. Esto hizo Dirk Eddelbuettel muy feliz:


Usted puede encontrar mis diapositivas en SlideShare y mi código fuente en GitHub.

Por último, mi agradecimiento a Gabor Csardi, mantenedor del paquete igraph, que escucharon mis ideas y le dio consejos útiles antes de la presentación.

No hay comentarios:

Publicar un comentario