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('../../R/Painel2.R', encoding='UTF-8')

tweets$text = gsub("[^[:graph:]]", " ",tweets$text)
# source('parametros.R', encoding='UTF-8')

Análise de tweets


Palavras-chave: `r temas`

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

Texto introdutório....

require(networkD3)

## Fazer um script para recuperar os tweets que possuem tanto a palavra clicada como suas vizinhas / adjacentes
MyClickScript <- 'alert("You clicked " + d.name + " which is in row " +
       (d.index + 1) +  " of your original R data frame");'

forceNetwork(Links = networkData, Nodes = nodes,
             Source = "source", Target = "target",
             Value = "value", NodeID = "name",
             Group = "group", Nodesize = 'size', 
             opacity = 0.8, zoom = TRUE, legend = TRUE, 
             opacityNoHover = TRUE, clickAction = MyClickScript,
             radiusCalculation = "Math.sqrt(d.nodesize)+2", 
             linkDistance = "100")
# cat("<div style='display:none; height:300px; ' >\n", sep="")
# cat(paste0("<img width='1200' src='", local, "'/>"))
# cat("</div>\n")

if (index) {
  cat("<h3>Temas:</h3><br/><br/>\n\n")
  for (i in 1:length(listaTemas)) {
    cat(paste("<h4> Tema ", i, ": </h4>"), sep="", collapse=" ")
    cat(gsub('c\\(|\\)|\\"', '', listaTemas[[i]]))
    cat('<br/>')
    cat(paste0("<a href='", sub("-themes\\.png", paste0('-theme', i, '-plots\\.html'), local), "'>Tema ", i, "</a>"))
  }
}
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--------------------------------------------------
dataPorTema = recuperaDataFrameGraficoTemas(resultado)
graficoPorTema <- Highcharts$new()
graficoPorTema$series(data = dataPorTema$qtdUsuarios, type = "bar", name="Usuários")
graficoPorTema$series(data = dataPorTema$qtdTweets, type = "bar", name="Tweets")
graficoPorTema$xAxis(categories = dataPorTema$temas)
graficoPorTema$set(dom = "graficoPorTema", title="Temas")
graficoPorTema$legend(align="center", verticalAlign="top", y=20, itemStyle = list(fontSize="16px", fontWeight="bold"))
graficoPorTema$show('inline', include_assets = TRUE, cdn = TRUE)



#-----------------------------------------------RETWEETS--------------------------------------------------
dataRetweet = byRetweet(tweets)
#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(tweets)
Sys.setlocale("LC_TIME", "English")
tweets$created_at2 = strptime(tweets$created_at, "%a %b %d %H:%M:%S %z %Y")
diff = range(tweets$created_at2)
intervalo = floor(as.numeric(diff[2] - diff[1], units="days")/1.2)
intervalo = max(intervalo, 1)

dataPorHora = byHours(tweets, 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:7



#-----------------------------------------------HASHTAGS--------------------------------------------------
dataPorHashtags = byHashTags(tweets)
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:9



#-----------------------------------------------MAIS FALOU--------------------------------------------------
dataPorUsuario = byUsuario(tweets)
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:11



#-----------------------------------------------MAIS FALADO--------------------------------------------------
#dataPorUsuario = byUsuario(tweets)
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:13
fim = Sys.time()
# print('Tempo total:')
# print(fim - inicio)


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