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')
========================================================
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)
#-----------------------------------------------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)
#-----------------------------------------------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)
#-----------------------------------------------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)
fim = Sys.time() # print('Tempo total:') # print(fim - inicio)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.