In [11]:
texto <- c('Minha terra tem palmeiras',
'onde canta o sabiá;',
'As aves que aqui gorjeiam,',
'não gorjeiam como lá.',
'Nosso céu tem mais estrelas,',
'Nossas várzeas têm mais flores,',
'Nossos bosques têm mais vida,',
'Nossa vida mais amores.',
'Em cismar – sozinho – à noite – ',
'Mais prazer encontro eu lá;',
'Minha terra tem palmeiras,',
'Onde canta o Sabiá.',
'Minha terra tem primores,',
'Que tais não encontro eu cá;',
'Em cismar – sozinho – à noite –',
'Mais prazer encontro eu lá;',
'Minha terra tem palmeiras,',
'Onde canta o Sabiá.',
'Não permita Deus que eu morra,',
'Sem que eu volte para lá;',
'Sem que eu desfrute os primores',
'Que não encontro por cá;',
'Sem que ainda aviste as palmeiras,',
'Onde canta o Sabiá.'
)
In [12]:
texto
Vamos transformar em um dataframe com o pacote dplyr:
In [3]:
library(dplyr)
In [13]:
df_texto <- data_frame(line = 1:length(texto), text = texto)
In [14]:
df_texto
In [15]:
#install.packages("tidytext",repos='http://cran.us.r-project.org')
In [16]:
library(tidytext)
In [17]:
df_texto %>% unnest_tokens(word,text)
Note que há muitas palavras sem importância, como: artigos, preposições etc. São chamadas de "stop words" e somente atrapalham a análise.
In [20]:
library(readr)
stopwords <- read_csv('portuguese-stopwords.txt', col_names = 'word')
filtrado <- df_texto %>%
unnest_tokens(word,text) %>%
anti_join(stopwords,by='word')
In [21]:
filtrado
In [30]:
words <- filtrado %>%
group_by(word) %>%
summarise(freq = n()) %>%
arrange(desc(freq))
words <- as.data.frame(words)
rownames(words) <- words$word
head(words)
In [25]:
#install.packages('wordcloud',repos='http://cran.us.r-project.org')
library(wordcloud)
In [28]:
options(warn=-1)
wordcloud(words$word,words$freq,scale=c(5,.01),min.freq = 1,max.words=Inf,colors=brewer.pal(8,"Dark2"))
options(warn=0)
In [ ]: