Configurando el twitter token con los datos de acceso a la API:

twitter_token <- create_token(
  app = appname,
  consumer_key = consumer_key,
  consumer_secret = consumer_secret,
  access_token = access_token, 
  access_secret = access_secret)

Realizando la busqueda por coordenadas en un radio de 10 millas alrededor del centro de la ciudad y excluyendo retweets:

tweets_formosa <- search_tweets(n=10000,
              geocode = "-26.176644,-58.184452,10mi",
              include_rts = FALSE,
              retryonratelimit = TRUE)

Visualizando los 10 tweets con mayor repercusion:

tweets_formosa %>% 
  top_n(10,retweet_count) %>% 
  arrange(desc(retweet_count)) %>% 
  select(screen_name,text,retweet_count)
## # A tibble: 10 x 3
##    screen_name   text                                              retweet_count
##    <chr>         <chr>                                                     <int>
##  1 belensilva227 Yo no pedí nacer asi https://t.co/4kBBsaNsY7                101
##  2 LuchoMichiel… Me apague y ya no se quien soy                               73
##  3 KarenJE01     Soy fiel creyente del Karma, asique vos tranqui …            55
##  4 _Guada_Roble… Tengo mucha tristeza acumulada adentro, que me d…            52
##  5 Ivanzanabria4 Me podes hacer mierda pero igual voy a ver lo bu…            47
##  6 ayma_idoyaga  Una partecita de mi se apago                                 47
##  7 mili_ibars    Necesito una persona que dé un giro a mi vida y …            46
##  8 CogornoNaza   quiero estar con alguien que se tome en serio la…            37
##  9 Isisduarte35… Estoy queriendo traer estos conjuntos de pijamas…            34
## 10 paulamontiel_ Que feliz era en 2017                                        34

Visualizando los horarios de mayor actividad. Se aprecia un patron de uso co un pico maximo alrededor de 1:00hs, y un un pico menor alrededor de 15:00 hs.

ts_plot(tweets_formosa,"hours")+
  labs(title="Uso de Twitter en la Ciudad de Formosa",
       subtitle="Frecuencia de tweets por hora",
       x="Hora",
       y="Frecuencia",
       caption="Fuente: API Twitter")

Analizando estadisticos de popularidad de usuarios. Como es comun en las redes sociales, se observa una mediana de seguidores muy por debajo del promedio, debido a la presencia de fuertes outliers:

tweets_formosa %>% 
  ggplot()+
  geom_histogram(aes(x=followers_count))+
  labs(title="Uso de Twitter en la Ciudad de Formosa",
       subtitle="Histograma de Usuarios por cantidad de seguidores",
       x="Cantidad de seguidores (escala logaritmica)",
       y="Frecuencia",
       caption="Fuente: API Twitter")+
  scale_x_log10()

tweets_formosa %>% 
  select(followers_count) %>% 
  summary()
##  followers_count  
##  Min.   :    0.0  
##  1st Qu.:  173.0  
##  Median :  408.0  
##  Mean   :  764.9  
##  3rd Qu.:  880.0  
##  Max.   :32532.0

Obteniendo los 10 usuarios con mas seguidores:

tweets_formosa %>% 
  group_by(screen_name,followers_count) %>% 
  summarise() %>% 
  top_n(10,followers_count) %>% 
  arrange(desc(followers_count)) %>% 
  select(screen_name,followers_count) %>% 
  head()
## # A tibble: 6 x 2
## # Groups:   screen_name [6]
##   screen_name   followers_count
##   <chr>                   <int>
## 1 veradade_e_fe           32532
## 2 luisnaidenoff           24631
## 3 giuupino                11086
## 4 MylagrosGomez           10835
## 5 JuanMoiraghi            10552
## 6 rodricoronel8            9487

Obteniendo estadisticas de uso por dispositivo o plataforma:

tweets_formosa %>% 
  ggplot()+
  geom_bar(aes(x=source))+
  coord_flip()+
  labs(title="Uso de Twitter en la Ciudad de Formosa",
       subtitle="Uso segun plataforma o dispositivo",
       y="frecuencia",
       x="plataforma",
       caption="Fuente: API Twitter")

Analisis geografico

# En primer lugar, se georeferncian solamente los tweets con coordenadas geograficas especificas (la muestra baja de 18.000 observaciones a solo 754)

tweets_formosa_geo<-lat_lng(tweets_formosa) %>% 
  select(-geo_coords, -coords_coords, -bbox_coords) %>% 
  filter(!is.na(lat)|!is.na(lng)) %>% 
  arrange(desc(followers_count))

# Se asigna una paleta de colores a la escala numerica de cantidad de seguidores:

paleta_formosa<-colorNumeric(palette="viridis",domain=tweets_formosa$followers_count)

#Se genera un grafico interactivo mostrando el texto del tweet al hacer click:

leaflet(tweets_formosa_geo) %>% 
  addProviderTiles(providers$CartoDB.Positron) %>% 
  addCircleMarkers(radius=~retweet_count,
                   popup=~text,
                   color=~paleta_formosa(followers_count)) %>% 
  addLegend(title="Followers",pal=paleta_formosa,values=~followers_count)

En el grafico muestra en escala de colores la cantidad de seguidores por usuario, y en el radio del circulo la repercusion del tweet especifico (cantidad de retweets). Sin embargo no se aprecia una correlacion entre popularidad del usuario y repercusion de sus tweets. Como el dataset geo referenciado contiene una muestra mucho menor, realizo un analisis de correlacion utilizando el dataset general:

tweets_formosa_agrupados<-tweets_formosa %>% 
  group_by(screen_name,followers_count) %>% 
  summarise(tweets=n(),retweets=sum(retweet_count),favourites=sum(favourites_count))
tweets_formosa_agrupados<-mutate(tweets_formosa_agrupados,tasa_retweet=retweets/tweets,tasa_favourites=favourites/tweets)
ggplot(tweets_formosa_agrupados) +
  geom_point(aes(x=followers_count,y=tasa_retweet,color=tasa_favourites),alpha=.2)+
  scale_color_viridis_c()+
  labs(title="Uso de Twitter en Ciudad de Formosa",
       subtitle="Analisis de correlacion popularidad - repercusion de tweets",
       caption="Fuente: API Twitter",
       x="Seguidores",
       y="Conteo de Retweets",
       color="Conteo favoritos")+
  geom_smooth(aes(x=followers_count,y=tasa_retweet),method="lm")
## `geom_smooth()` using formula 'y ~ x'

tweets_formosa_lm<-lm(tasa_retweet ~ followers_count, data=tweets_formosa_agrupados)
summary(tweets_formosa_lm)
## 
## Call:
## lm(formula = tasa_retweet ~ followers_count, data = tweets_formosa_agrupados)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -6.502 -0.338 -0.279 -0.251 46.230 
## 
## Coefficients:
##                   Estimate Std. Error t value          Pr(>|t|)    
## (Intercept)     0.25101134 0.03450317   7.275 0.000000000000434 ***
## followers_count 0.00020750 0.00002917   7.114 0.000000000001387 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.743 on 3201 degrees of freedom
## Multiple R-squared:  0.01556,    Adjusted R-squared:  0.01526 
## F-statistic: 50.61 on 1 and 3201 DF,  p-value: 0.000000000001387

El estadistico R^2 bajo confirma una baja correlacion entre ambas variables.