Nuvem de palavra a partir dos twitters sobre #stf Também faça uma análise de sentimentos com relação a esses twitters coletados.
library("tm")
## Loading required package: NLP
library("wordcloud")
## Loading required package: RColorBrewer
library("readr")
library("RColorBrewer")
library("twitteR")
De posse das chaves da API do Twitter (https://developer.twitter.com/apps), executar o comando abaixo:
setup_twitter_oauth(consumer_key, consumer_secret, access_token, access_secret)
## [1] "Using direct authentication"
tweets <- searchTwitter("#stf", n=500, lang = "pt")
### Warning in doRppAPICall("search/tweets", n, params = params, retryOnRateLimit =
### retryOnRateLimit, : 500 tweets were requested but the API can only return 387
tweets<- twListToDF(tweets)
tweets_t <- paste(tweets$text,collapse= " ")
corpus <- VCorpus(VectorSource(tweets_t))
corpus <- tm_map(corpus, content_transformer(tolower))
#Remove pontuação
corpus <- tm_map(corpus, content_transformer(removePunctuation))
#Remove espaços extras em branco
corpus <- tm_map(corpus, content_transformer(stripWhitespace))
#Remove palavras ruído
corpus <- tm_map(corpus, content_transformer(removeWords), stopwords("en"))
# removeURLs
removeURL <- function(x)gsub("http[^[:space:]]*", "",x)> corpus <-tm_map(corpus,removeURL)
# remove qualquer coisa que não seja letras em português e espaço.
removeNumPunct <- function(x)gsub("[^[:alpha:][:space:]]*", "",x)
corpus <-tm_map(corpus,content_transformer(removeNumPunct))
dtm<-TermDocumentMatrix(corpus)
dtm<- as.matrix(dtm)
frq <-sort(rowSums(dtm), decreasing = T)
wordcloud(corpus, colors = c("tomato", "wheat", "lightblue"), scale = c(4, 0.2), random.color = TRUE, rot.per = 0.5, min.freq = 1, font = 2, family = "serif", max.words = 60)
Faça um gráfico de barras e um gráfico de pizza para os dados apresentados na tabela abaixo. Adicione título, cores, legenda e nomes de eixos(gráfico de barras). Abaixo submeta o link do RPubs com o resultado dessa questão. Note que cada gráfico deve ficar dentro de uma aba específica. *
bibliotecas:
library("ggplot2")
##
## Attaching package: 'ggplot2'
## The following object is masked from 'package:NLP':
##
## annotate
library(dplyr)
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:twitteR':
##
## id, location
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
tipo <- c("Escorpião", "Serpente", "Aranha", "Outros Animais")
total <- c(8208, 4944, 4661, 5834)
percent <- c(34.71, 20.91, 19.71, 24.67)
df <- data.frame(tipo, total, percent)
barplot(df$total, col=rainbow(4), main= "Casos de intoxicação humana por animal peçonhento", xlab = "Tipos de Animais", ylab = "Quantidade")
legend("topright", legend = (df$tipo), cex=0.8, fill=rainbow(4), title = "Tipos de Animais")
lbls <- paste(df$percent,"%",sep="")
# Cria gráfico de pizza sobre os assassinatos
pie(x= df$percent, labels = lbls, col=rainbow(4), main = "Casos de intoxicação humana por animal peçonhento")
legend("topright", legend = (df$tipo), cex=0.8, fill=rainbow(4), title = "Tipos de Animais")