sábado, enero 28, 2017

Nube de palabras a partir de Google Académico

Una forma visualmente llamativa y relativamente original para presentar nuestras líneas de investigación es a través de una nube de palabras. Si Stephen Hawking tuviera que presentar su currículum en una oposición, podría arrancar con algo parecido a esto, por ejemplo.



Conseguir hacer una imagen así con R es sencillo. Únicamente necesitamos
1.- Tener nuestro perfil de Google Académico convenientemente depurado y actualizado.
2.- Localizar nuestro identificador en este servicio. La página de Scholar para Hawking es:
https://scholar.google.com/citations?user=qj74uXkAAAAJ
En este caso, su identificador es lo que sigue al igual, esto es, qj74uXkAAAAJ.
En ocasiones la dirección web es más larga. Aquí, por ejemplo, hemos pedido mostrar las publicaciones ordenadas por año, no por citas:
https://scholar.google.com/citations?hl=en&user=qj74uXkAAAAJ&view_op=list_works&sortby=pubdate
El identificador ahora se encuentra entre el = y el primer &.
3.- Ejecutar esta sintaxis de R: https://www.dropbox.com/s/kqggjy23c65s9s4/nubes.R?dl=0
library(scholar)
library(wordcloud2)
pubs <- get_publications("NDVBqHEAAAAJ")$title 
pubs <- tolower(pubs)
titulos <- paste(pubs, sep = '', collapse = ' ')
palabras <- strsplit(titulos, split=" ")
tabla.frec <- as.data.frame(table(palabras))
tabla.frec <- tabla.frec[order(-tabla.frec$Freq),] 
masdetres <- tabla.frec[nchar(as.character(tabla.frec$palabras)) > 3,]
wordcloud2(masdetres[1:min(100,nrow(tabla.frec)),]) 

Aquí estoy asumiendo que el usuario ya tiene instaladas las librerías scholar y wordcloud2. En un primer momento leemos el título de las publicaciones incluidas en Scholar en un perfil (tercera línea de código; ahí hemos de poner entre comillas el identificador), separamos en palabras distintas y calculamos su frecuencia. Para evitar palabras de escasa aportación como "y" o "the", restringimos la gráfica a palabras de longitud superior a tres caracteres. Para evitar gráficos excesivamente sobrecargados, en el caso de haber más de cien palabras distintas en los títulos, solo mostramos las cien más frecuentes. Estas restricciones se pueden modificar.

La librería wordcloud2 ofrece otras opciones para mostrar las nubes. Les animo a hacer pruebas.

No hay comentarios:

Publicar un comentario