Análise de tweets

========================================================

Texto introdutório....

inicio = Sys.time()
require(rCharts)
require(RCurl)
options(RCHART_WIDTH = NA, RCHART_HEIGHT = NA)
knitr::opts_chunk$set(comment = NA, results = 'asis', tidy = F, message = F)
source('Painel2.R', encoding='UTF-8')
# setwd("C:/Users/Fernando/Dropbox/Senado/Servidor Remoto/code/raw")



#variaveis = load('../../data/politics-tweets-2014-07-22-all.Rda')
variaveis = load('../../data/html/politics-tweets-2014-07-16-to-2014-07-30-eleicoes-resultado.Rda')
#tweets$text = gsub("[^[:graph:]]", " ",tweets$text)

#if (!('eleicoes' %in% variaveis)) {
#  source('funcoesTwitter.R', encoding='UTF-8')
#  eleicoes = recuperarTweetsEleicoes(tweets)
#}

eleicoes = resultado$tweets[[1]]


#eleicoes_full = tweets[grep("eleicao|eleição|eleicoes|eleições|Dilma Rousseff|Aécio Neves|Aecio Neves|Eduardo Campos|Marina Silva|aecio|dilma|marina|presidencia|presidência|lula|presidenta|pt|psb|psdb", tweets$text, ignore.case=TRUE),]
#eleicoes = eleicoes_full
tweetIndisponivel <- function(tweet) {
  #return(FALSE)
  url = paste("https://twitter.com/",tweet$screen_name,"/status/", tweet$id_str, sep="")
  html <- getURL(url, header = TRUE, nobody = FALSE, followlocation = FALSE, cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl"))
  indisponivel = grepl("<h1>Sorry, that page doesn.+t exist!</h1>", html) || grepl("<h1>Desculpe, essa p.+gina n.+o existe!</h1>", html)
  indisponivel
}
#-----------------------------------------------RETWEETS--------------------------------------------------
dataRetweet = byRetweet(eleicoes)
#graficoRetweet = nPlot(x="type", y="numberOfTweets", data=dataRetweet, type="discreteBarChart")
#graficoRetweet
graficoRetweet <- Highcharts$new()
graficoRetweet$series(data = dataRetweet$numberOfTweets, type = "bar", name = "Retweet ou Tweet?")
graficoRetweet$xAxis(categories = dataRetweet$type)
graficoRetweet$set(dom = "graficoRetweet", title="Retweets")
graficoRetweet$legend(align="center", verticalAlign="top", y=20, itemStyle = list(fontSize="16px", fontWeight="bold"))
graficoRetweet$show('inline', include_assets = TRUE, cdn = TRUE)
#-----------------------------------------------HORARIO DO DIA--------------------------------------------------
#dataPorHora = byTimeOfDay(eleicoes)
Sys.setlocale("LC_TIME", "English")
eleicoes$created_at2 = strptime(eleicoes$created_at, "%a %b %d %H:%M:%S %z %Y")
diff = range(eleicoes$created_at2)
intervalo = floor(as.numeric(diff[2] - diff[1], units="days")/1.8)
intervalo = max(intervalo, 1)

dataPorHora = byHours(eleicoes, intervalo)
graficoPorHora <- Highcharts$new()
graficoPorHora$chart(type = "spline")
graficoPorHora$series(data = dataPorHora$Tweets, dashStyle = "longdash", name="Qual horário?")
categorias = format(as.POSIXlt(dataPorHora$Date), "%d-%b %H:%M")
graficoPorHora$xAxis(type="category", categories = categorias,labels = list(rotation=-45, step = 4))
graficoPorHora$set(dom="graficoPorHora")
graficoPorHora$legend(align="center", verticalAlign="top", y=40, itemStyle = list(fontSize="16px", fontWeight="bold"))
graficoPorHora$plotOptions(series = list(cursor = 'pointer', point = list(events = list(click = "#! function() {  $('.tweets_horario_class').css('display','none'); var divid = '#tweets_horario'+(this.category.replace(/:|-| /g,'')); $(divid).css('display','block');} !#"))))
graficoPorHora$show('inline', include_assets = TRUE, cdn = TRUE)
wzxhzdk:5



#-----------------------------------------------HASHTAGS--------------------------------------------------
dataPorHashtags = byHashTags(eleicoes)
graficoPorHashtag <- Highcharts$new()
graficoPorHashtag$series(data = dataPorHashtags$ocorrencia[1:10], type = "bar", name="Quais as hashtags mais populares?")
graficoPorHashtag$xAxis(categories = dataPorHashtags$hashtag)
graficoPorHashtag$set(dom="graficoPorHashtag")
graficoPorHashtag$legend(align="center", verticalAlign="top", y=40, itemStyle = list(fontSize="16px", fontWeight="bold"))
graficoPorHashtag$plotOptions(bar = list(cursor = 'pointer', point = list(events = list(click = "#! function() {  $('.tweets_hashtag').css('display','none'); var divid = '#tweets_hashtag'+(this.x+1); $(divid).css('display','block');} !#"))))
graficoPorHashtag$show('inline', include_assets = TRUE, cdn = TRUE)
wzxhzdk:7



#-----------------------------------------------MAIS FALOU--------------------------------------------------
dataPorUsuario = byUsuario(eleicoes)
maisFalou = data.frame(array(dataPorUsuario$maisFalou[1:10]), names(dataPorUsuario$maisFalou[1:10]))
rownames(maisFalou) = c()
names(maisFalou) = c("tweets", "usuario")
graficoMaisFalou <- Highcharts$new()
graficoMaisFalou$series(data = maisFalou$tweets, type = "bar", name="Quem mais falou?")
graficoMaisFalou$xAxis(categories = maisFalou$usuario, allowDecimals=FALSE)
graficoMaisFalou$set(dom="graficoMaisFalou")
graficoMaisFalou$legend(align="center", verticalAlign="top", y=40, itemStyle = list(fontSize="16px", fontWeight="bold"))
graficoMaisFalou$plotOptions(bar = list(cursor = 'pointer', point = list(events = list(click = "#! function() {  $('.tweets_maisfalou_class').css('display','none'); var divid = '#tweets_maisfalou'+(this.x+1); $(divid).css('display','block');} !#"))))
graficoMaisFalou$show('inline', include_assets = TRUE, cdn = TRUE)
wzxhzdk:9



#-----------------------------------------------MAIS FALADO--------------------------------------------------
#dataPorUsuario = byUsuario(eleicoes)
maisFalado = data.frame(array(dataPorUsuario$maisFalado[1:10]), names(dataPorUsuario$maisFalado[1:10]))
rownames(maisFalado) = c()
names(maisFalado) = c("tweets", "usuario")
graficoMaisFalado <- Highcharts$new()
graficoMaisFalado$series(data = maisFalado$tweets, type = "bar", name="Quem foi mais falado?")
graficoMaisFalado$xAxis(categories = maisFalado$usuario, allowDecimals=FALSE)
graficoMaisFalado$set(dom="graficoMaisFalado")
graficoMaisFalado$legend(align="center", verticalAlign="top", y=20, itemStyle = list(fontSize="16px", fontWeight="bold"))
graficoMaisFalado$plotOptions(bar = list(cursor = 'pointer', point = list(events = list(click = "#! function() {  $('.tweets_maisfalado_class').css('display','none'); var divid = '#tweets_maisfalado'+(this.x+1); $(divid).css('display','block');} !#"))))
graficoMaisFalado$show('inline', include_assets = TRUE, cdn = TRUE)
wzxhzdk:11
fim = Sys.time()
# print('Tempo total:')
# print(fim - inicio)


rommelnc/hudar documentation built on May 27, 2019, 1:49 p.m.