O que dizem sobre o Datafolha
Análise do Twitter sobre a última pesquisa para presidente
O mês de Junho foi marcado pela redução da frequência de divulgação das pesquisas eleitorais para presidente da república. Há indicações de que o segundo lugar na disputa de acordo com absolutamente todos os institutos de pesquisa não quer que seu nome apareça com frequência nos gráficos de barra nessa posição. Diante dessa seca de dados, a pesquisa Datafolha passou a ser a mais aguardada.
Aproveitei parte do meu final de semana para tentar entender como foi essa espera e as posteriores reações naquele espaço de tranquilidade e paz chamado twitter. Aproximadamente às 20:30 do dia 25/06/2022, utilizei a linguagem R para rodar esse script abaixo.
library(rtweet)
tw_datafolha<- rtweet::search_tweets(q="datafolha", n=18000, include_rts = FALSE)tw_datafolha%>%
readr::write_csv("tw_datafolha.csv")
É isso mesmo, eu busquei os dados mais recentes de tweets que citavam datafolha e salvei num arquivo csv que disponibilizo a partir do link que indicado ao final do texto.
Agora já estava com os dados e pude partir para os gráficos e análises.
Timeline da ansiedade
A ansiedade pela divulgação na tuitosfera pode ser percebida nesse gráfico que mostra o número de tweets que citam datafolha durante um intervalo de nove dias que se encerra em 25/06/2022.
Ah, antes do gráfico, o código
tw_datafolha %>%
mutate(data_publicacao = lubridate::as_date(created_at)) %>%
ggplot() +
geom_bar(aes(x=data_publicacao)) +
theme_light() +
labs(
x=NULL,
y="Número de tweets"
)
Como se pode ver havia um aquecimento nos debates nos dias que precederam a divulgação da pesquisa. O burburinho aumentou no dia 22/06 e tem seu pico justamente no dia 23/06 quando os números foram publicados. A partir daí, mídia, partidos políticos e cientistas políticos de academia e botequim, povoaram o twitter com milhares de mensagens sobre o assunto. No total eu analisei 17067 mensagens sem retuítes entre os dias 16 e 25 de Junho de 2022.
Análise das hashtags
Uma boa métrica para se perceber o que estava rolando nesse debate é a diversidade e força das hashtags. Então fiz esse script…
#Criei essa função para buscar as hashtags distintas. O código está disponível a partir do link ao final do texto
hashtags_datafolha<- analise_hashtags(tw_datafolha)#As 20 hashtags mais importantes
hashtags_datafolha %>%
dplyr::slice_max(order_by = quantidade, n=20) %>%
mutate(hashtag= reorder(hashtag, quantidade)) %>%
ggplot() +
geom_col(aes(y=hashtag, x=quantidade))+
theme_light() +
labs(
x="Número de tweets"
)
… que gerou esse gráfico
Como se pode ver, as hashtags favoráveis a Lula são bem mais citadas do que aquelas favoráveis ao segundo lugar na disputa. Percebe-se algumas hashtags contrárias ou que sinalizam preocupação para a campanha do atual presidente. São elas: cpidomec, sumarodrigogarcia e boslonarocorrupto.
Verifica-se ainda a presença de hashtags neutras ligadas a empresas de comunicação: datafolha e globonews. Há também uma hashtag curiosa, datapovo, onde eleitores choram suas pitangas reclamando da Datafolha e de todos os institutos de pesquisa que não colocam seu mito em primeiro lugar.
Por fim é muito interessante ainda destacar que não há no gráfico qualquer menção aos outros candidatos.
Análise da rede de trigramas
Uma das análises de conteúdo possíveis a partir dos dados de twitter é a de frequência de combinação de palavras. Para o nosso caso, foquei-me na frequência de trigramas, ou seja, a quantidade de vezes em que sequência de três palavras se repetem nos textos. Um diagrama de redes de palavras ajuda a entender os temas que são discutidos a partir da combinação dos trigramas mais frequentes. O código para essa análise é relativamente extenso então vou colocar logo abaixo somente a parte final em que o gráfico é gerado. O restante do código está no github que eu aponto ao final do texto.
library(ggraph)
set.seed(13)ggraph(trigram_graph, layout = "fr") +
geom_edge_link() +
geom_node_point() +
geom_node_text(aes(label = name),size =2.5, vjust = 1, hjust = 1)+
theme_void()
A combinação dos diversos trigramas indica que a maior parte dos tweets preocupa-se mais em reproduzir os achados do Datafolha do que necessariamente comemorar ou duvidar dos resultados. Destaca-se disso a presença forte dos números da pesquisa: 53, 28, 32, 2, 1, além de palavras que relatam os detalhes dos valores medidos.
Núcleos fortes da rede estão em torno das palavras Lula e Bolsonaro e com um pouco menos de força, Ciro. Já os termos Tebet, Vera, Janones e Marçal aparecem ligados uns aos outros e também ao número percentual de eleitores que se inclinam por esses candidatos: 1% ou 2%.
Algumas sub-redes apontam expectativas importantes para os resultados da eleição. São as que aparecem polícia federal e milton ribeiro. Referem-se nesse caso à operação que prendeu o ex-ministro Milton Ribeiro. Havia uma expectativa, não necessariamente confirmada até o momento, que esse fato geraria impactos negativos fortes sobre a campanha do candidato que ocupa a segunda colocação na pesquisa.
E vale destacar aqui a presença da palavra inominável. Essa palavra é usada quando não se quer dar destaque ao nome do candidato a reeleição. Nos tuítes analisados aqui essa palavra é usada para anunciar o percentual de preferência dos eleitores para o referido candidato aferido pela pesquisa Datafolha.
Análise das hashtag #lulanoprimeiroturno e #bolsonaronoprimeiroturno
A próxima análise faz um contraste entre as duas hashtags mais digitadas que se associam aos dois primeiros colocados na disputa.
Uma parte do código vem logo abaixo
library(viridis)tb_primeiro_truno %>%
count(grupo, word, sort = TRUE) %>%
top_n(20) %>%
ungroup() %>%
mutate(word = reorder(word,n)) %>%
ggplot(aes(y=word, x=n, fill=grupo)) +
geom_col(show.legend = TRUE) +
theme_light() +
theme() +
scale_fill_viridis(discrete = TRUE)
O código agrupa as palavras por grupos formados pelas hashtags #lulanoprimeiroturno e #bolsonaronoprimeiroturno. Aqui é importante destacar que são analisadas apenas as palavras que foram usadas mais de dez vezes em cada um dos grupos. Do conjunto de palavras formado pela junção dos dois grupos, busca-se as 20 palavras mais frequentes e o gráfico que sai é esse logo abaixo.
A força da hashtag em apoio a Lula fica bem evidente no gráfico acima. Das 20 palavras mais frequentes, 19 são oriundas das postagens que são explicitamente favoráveis a Lula. Há aqui, como era de se esperar pela formação da hashtag analisada, um movimento que busca reforçar uma campanha para que Lula ganhe já no primeiro turno.
A percepção das demandas dos apoiadores do atual presidente fica ofuscada no gráfico acima. Por isso vale a pena ver um gráfico apenas com as palavras mais frequentes presente no grupo de tweets com a hashtag favorável a Bolsonaro.
O código…
tidy_bolsonaro_primeiro_turno <-
tw_datafolha %>%
filter_hashtags("bolsonaronoprimeiroturno") %>%
unnest_tokens(word, text, token = "tweets", strip_punct = TRUE, strip_url = TRUE ) %>%
group_by(word) %>%
filter(n() > 10) %>%
ungroup()tb_bolsonaro_primeiro_truno <- anti_join(tidy_bolsonaro_primeiro_turno,
stopwords_full, by = 'word')tb_bolsonaro_primeiro_truno %>%
count(word, sort = TRUE) %>%
top_n(20) %>%
ungroup() %>%
mutate(word = reorder(word,n)) %>%
ggplot(aes(y=word, x=n)) +
geom_col() +
theme_light() +
theme()
e o gráfico.
Aqui aparece com muita evidência as desconfianças sobre a pesquisa. As palavras pode, confiar e camboriúsc indicam que os eleitores entendem que o resultado da última pesquisa da Datafolha está errado. Para eles o evento em que o atual presidente compareceu em Santa Catarina foi um grande sucesso. Nesse caso o bigrama “pode confiar” que aparece em vários tuítes é uma forma irônica de abordar os resultados da pesquisa.
Por fim, vale a pena medir a repercussão amplamente majoritária por parte dos eleitores do primeiro colocado na pesquisa através da contagem de favoritos e de retuítes.
tb_primeiro_truno %>%
group_by(grupo) %>%
summarise(
`soma retweets` = sum(retweet_count),
`soma favoritos` = sum(favorite_count)
) %>%
tidyr::pivot_longer(cols = c(`soma retweets`, `soma favoritos`), names_to = "repercussao", values_to = "valor") %>%
ggplot() +
geom_col(aes(y=repercussao, x=valor))+
theme_light() +
theme() +
facet_grid(grupo~.) +
scale_x_continuous(labels = function(x){format(x, big.mark = ".",, scientific = FALSE)})+
labs(x=NULL,
y=NULL)
O código acima gera o gráfico abaixo
Como se pode ver a soma de retuítes e de favoritos dos posts favoráveis a Bolsonaro são apenas traços de repercussão quando comparados às barras formadas por essas quantidades gerados pelos apoiadores de Lula. Há praticamente uma abstenção do tema Datafolha por parte dos apoiadores do candidato a reeleição.