Archivo de la etiqueta: wordcloud

Cloud words con R. Trabajar con la API del Europe PMC con R

Hace años ya tuvimos nubes de palabras en el blog y ya era hora de ir actualizando algunas cosas. Y además quería aprovechar y presentaros un paquete de R que nos permite consultar la API del Europe PMC. Para quien no sepa que es el Europe PMC podemos decir que es un un buscador de documentos y artículos científicos (que ahora todo el mundo molón llama papers) y que tiene una API desde la que podemos acceder desde R mediante el paquete europepmc.

Obtener datos de la API de Europe PMC con R

El primer paso para trabajar con la librería de R europepmc sería obtener el número de artículos publicados con el topic “Autism” en su descripción, para ello podemos hacer:

#install.packages("europepmc")
library(dplyr)
library(ggplot2)
library(europepmc)

autismo <- epmc_hits_trend("Autism", period = 2000:2019, synonym = TRUE)
autismo
ggplot(autismo, aes(year,  query_hits)) + 
  geom_line() +
  xlab("Año de Publicación") + 
  ylab("Articulos publicados sobre Autismo")

La función del paquete de R europepmc epmc_hits_trend obtiene de un periodo dado el número de artículos y el número de artículos de un determinado tópico. Como vemos se está incrementando casi exponencialmente el número de artículos dedicados al Autismo en los últimos años, no es una tendencia particular, se está incrementando el número de papers (asco de término pero que tiene que aparecer para las búsquedas), estamos ante la “burbuja de los papers” ya que da mas notoriedad hacer mucho que hacer bien, ya se lo leerá una inteligencia artificial, en fin que me disperso. Pero la función que puede resultarnos más interesante es epmc_search que crea un data frame con las búsquedas de los artículos con su ISBN, fechas de referencia, autores,… nos va a servir para obtener unas nubes de palabras sobre los escritos acerca del autismo Seguir leyendo Cloud words con R. Trabajar con la API del Europe PMC con R

Análisis del discurso de navidad del Rey de España 2013

Me llena de orgullo y satisfacción mostraros un ejemplo de uso de la librería wordcloud para la realización de nubes de palabras con R. Esta entrada no es muy innovadora porque ya tenemos alguna similar en el blog. Lo primero que tenéis que hacer es descargaros el discurso del Rey y ejecutad este código:

#Lectura del archivo
ubicacion="C:\\temp\\juancar.txt"
texto = read.table (ubicacion,sep="\r")

#Dejamos todas las palabras en mayúsculas
texto = toupper(texto$V1)
#El texto lo transformamos en una lista separada por espacios
texto_split = strsplit(texto, split=" ")

#Deshacemos esa lista y tenemos el data.frame
texto_col = as.character(unlist(texto_split))
texto_col = data.frame(texto_col)
names(texto_col) = c("V1")

#Eliminamos algunos caracteres regulares
texto_col$V1 = sub("([[:space:]])","",texto_col$V1)
texto_col$V1 = sub("([[:digit:]])","",texto_col$V1)
texto_col$V1 = sub("([[:punct:]])","",texto_col$V1)
#Creamos una variable longitud de la palabra
texto_col$largo = nchar(texto_col$V1)

#Quitamos palabras cortas
texto_col = subset(texto_col,largo>4)

#Nube de palabras
#install.packages('wordcloud')
library(wordcloud)
library(RColorBrewer)
pesos = data.frame(table(texto_col$V1))

#Paleta de colores
pal = brewer.pal(6,"RdYlGn")

#Realizamos el gráfico
png('C:\\temp\\Discurso del rey españa 2013.png', width=500, height=500)
wordcloud(pesos$Var1,pesos$Freq,scale=c(4,.2),min.freq=2,
max.words=Inf, random.order=FALSE,colors=pal,rot.per=.15)

dev.off()

Interesante el uso de la librería RColorBrewer. Particularmente me gusta mucho el resultado que nos da wordcloud para la realización de las nubes de palabras con una sintaxis sencilla. Considero imprescindible el uso de ramdom.order=FALSE. Espero que os sea de utilidad.

Quería aprovechar estas líneas para pedir al gabinete de prensa de la Casa del Rey que me permitieran fotografiarme con el Rey de España. Profesionalmente me viene muy bien (para determinados ámbitos) una fotografía estrechando la mano del Rey. Ya van unas pocas de veces que lo he pedido y siempre es imposible. Pero bien que estáis todo el día metidos en el blog cogiendo mapas y aprendiendo a usar mejor el Excel.