library(ggplot2)
library(ggthemes)
library(wordcloud)
library(data.table)
library(tm)


# Frecuencias ------------------------------------------------------------

# Creamos previamente el documento
tdm <- TermDocumentMatrix(corpus, control = list(removePunctuaction = T, stopWords = T, wordLengths = c(2, Inf)))

# Palabras que aparezcan al menos esta cantidad de veces: 
## lowfreq -> X veces o más
## highfreq -> X veces o menos
findFreqTerms(tdm, lowfreq = 10)
findFreqTerms(tdm, lowfreq = 5, highfreq = 9) 
findFreqTerms(tdm, lowfreq = 2, highfreq = 4)

# Palabras asociadas a unas principales y el grado de unión que tienen entre si
findAssocs(tdm, c("enfermo","trabajo", "empresa"), c(0.07, 0.07, 0.1))


# Creación de una matriz con la frecuencia de las palabras, de mayor a menor
tweet_matriz <- as.matrix(tdm)
tweet_matriz_sort <- sort(rowSums(tweet_matriz), decreasing = TRUE)
dataf_tweet <- data.frame(words=names(tweet_matriz_sort), freq = tweet_matriz_sort)


# Frecuencia de palabras y asociaciones:
# idx <- which(dimnames(tdm)$Terms == "coronavirus")
# inspect(tdm[idx + (0:5), 101:110])

