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. Además, quería aprovechar y presentaros un paquete de R que nos permite consultar la API del Europe PMC. Para quien no sepa qué es el Europe PMC, podemos decir que es un buscador de documentos y artículos científicos (que ahora todo el mundo molón llama papers) y que tiene una API a la que podemos acceder desde R mediante el paquete europepmc. ...

19 de enero de 2020 · rvaquerizo

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_df <- read.table(ubicacion, sep = "\r") # Dejamos todas las palabras en mayúsculas texto <- toupper(texto_df$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_df <- data.frame(V1 = texto_col) # Eliminamos algunos caracteres regulares texto_col_df$V1 <- gsub("([[:space:]])", "", texto_col_df$V1) texto_col_df$V1 <- gsub("([[:digit:]])", "", texto_col_df$V1) texto_col_df$V1 <- gsub("([[:punct:]])", "", texto_col_df$V1) # Creamos una variable longitud de la palabra texto_col_df$largo <- nchar(texto_col_df$V1) # Quitamos palabras cortas texto_col_df <- subset(texto_col_df, largo > 4) # Nube de palabras # install.packages('wordcloud') library(wordcloud) library(RColorBrewer) pesos <- data.frame(table(texto_col_df$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 random.order = FALSE. Espero que os sea de utilidad. ...

26 de diciembre de 2013 · rvaquerizo