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 algorithm y Finding 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