Word cloud
Portafolio
Dataviz
Resumen
Una visualización de datos correcta puede expresar de forma resumida y clara gran cantidad de información, ayudando a interpretar y asimilar la información más facilmente.
Word cloud de las primeras diez mil palabras del Quijote.
INCLUIR LINK NLP
Incluir link al repositorio de NLP
Librerías específicas.
(Funcional paquete ‘wordcloud’)[https://cran.r-project.org/web/packages/wordcloud/wordcloud.pdf] (Más ejemplos de ggwordcloud)https://cran.r-project.org/web/packages/ggwordcloud/vignettes/ggwordcloud.html
Datos.
Fuente: https://www.gutenberg.org/cache/epub/2000/pg2000.txt
Código.
Código
# Leo el Quijote
quijote <- readLines("../data/quijote.txt", encoding = "UTF-8")
# Concateno todas las líneas en una sola cadena
quijote <- paste(quijote, collapse = " ")
# Convierto el Quijote a minúsculas, elimino caracteres especiales
quijote <- tolower(quijote)
quijote <- str_replace_all(quijote, "[^a-záéíóúüñ]", " ")
# Dividir el texto en palabras y eliminar stop words
quijote_words <- unlist(strsplit(quijote, "\\s+"))
quijote_words <- quijote_words[!quijote_words %in% tm::stopwords("spanish")] # análogo: quijote_words <- quijote_words[!quijote_words %in% stopwords::stopwords("spanish")]
quijote_words <- quijote_words[!quijote_words %in% tm::stopwords("spanish")]
# Filtrar las palabras vacías (espacios en blanco) y obtener las primeras 1000 palabras
quijote_words <- quijote_words[quijote_words != ""]
first_1000_words <- quijote_words[1:10000]
Código
wordcloud(words = first_1000_words, min.freq = 10, colors = brewer.pal(8, "Dark2"))
Código
# first_1000_words |> table() |> as.data.frame() |>
# ggplot(aes(label = first_1000_words, size = Freq)) +
# geom_text_wordcloud() +
# scale_size_area(max_size = 30) +
# theme_minimal()
Código
data("love_words_small")