# Basic knitr options
library(knitr)
opts_chunk$set(comment = NA, 
               echo = FALSE, 
               warning = FALSE, 
               message = FALSE, 
               error = TRUE, 
               cache = FALSE,
               fig.path = 'figures/')
# Libraries
library(rtweet)
library(tidyverse)
# Read in twitter credentials
library(yaml)
twitter_credentials <- yaml.load_file('../../credentials/credentials.yaml')
## load rtweet package
token <- create_token(
  app = "bcndata",
  consumer_key = twitter_credentials$twitter_api_key,
  consumer_secret = twitter_credentials$twitter_api_secret_key,
  access_token = twitter_credentials$twitter_access_token,
  access_secret = twitter_credentials$twitter_access_token_secret)

# ## check to see if the token is loaded
# identical(token, get_token())
if(!'data.RData' %in% dir()){
arri <-
  arri <- search_tweets(
    '"Arrimadas"', 
    n = 1000000000, 
    include_rts = T, 
    retryonratelimit = TRUE
  )

  puig <- search_tweets(
      '"Puigdemont"', 
      n = 1000000000, 
      include_rts = T, 
      retryonratelimit = TRUE
    )

  junq <- search_tweets(
      '"Junqueras"', 
      n = 1000000000, 
      include_rts = T, 
      retryonratelimit = TRUE
    )
  sanch <- search_tweets(
      '"Pedro Sánchez"', 
      n = 1000000000, 
      include_rts = T, 
      retryonratelimit = TRUE
    )

  save(arri, puig, junq, #sanch,
     file = 'data.RData')
} else {
  load('data.RData')
}

agg <-
  arri %>% mutate(person = 'Arrimadas') %>%
  bind_rows(junq %>% mutate(person = 'Junqueras'),
            puig %>% mutate(person = 'Puigdemont')) %>%
  mutate(date = cut(created_at, 'hour')) %>%
  mutate(date = as.POSIXct(date)) %>%
  group_by(date, person) %>%
  tally %>%
  ungroup

library(databrew)
ggplot(data = agg %>% filter(date >= '2019-07-03'),
       aes(x = date,
           y = n)) +
  # geom_bar(stat = 'identity') +
  # geom_area(alpha = 0.2) +
  geom_line(aes(color = person)) +
  theme_databrew() +
  labs(y = 'Piulets',
       x = 'Hora',
       title = 'Piulets per hora esmentant polítics',
       caption = '\nDades del API de Twitter. Gràfic: Joe Brew | @joethebrew.') +
  # facet_wrap(~person) +
  theme(legend.text = element_text(size = 20),
        plot.title = element_text(size = 28),
        plot.subtitle =  element_text(size = 16),
        strip.text = element_text(size = 20)) +
  scale_color_manual(name = '',
                     values = databrew::make_colors(5)[c(2,4,5)])
  # theme(legend.position = 'none')
ggsave('~/Desktop/arrimadas.png',
       width = 8.64,
       height = 4.86)


joebrew/vilaweb documentation built on Sept. 11, 2020, 3:42 a.m.