Caricamento librerie

library(dplyr)
library(ggplot2)
library(gtrendsR)

Parte 1 : Dati

Google Trends fornisce statistiche sull’interesse in percentuale da parte delle persone su parole chiavi prescelte degli utenti che utilizzano i suoi prodotti, tra cui il motore di ricerca Google, Google News ecc. La libreria gtrendsR di R fa delle query su Google Trends e restituisce l’interesse nel tempo delle parole chiave prescelte e l’interesse per regione. Si vuole valutare l’interesse verso alcuni partiti ed esponenti politici nell’ultimo mese a partire dall’8 agosto 2022.

Caricamento dati:

result <- gtrends(keyword = c("Fratelli d'Italia","Lega Nord","Partito Democratico", "Movimento 5 Stelle", "Sinistra Italiana"), geo = "IT", time="today 1-m", low_search_volume = T)
result2 <- gtrends(keyword = c("Forza Italia","Calenda", "Salvini","Meloni", "Letta"), geo = "IT", time="today 1-m", low_search_volume = T)
df <- rbind(result$interest_over_time, result2$interest_over_time)

Parte 2 : Esplorazione dati

df %>%
  group_by(keyword) %>%
  summarise(media= mean(hits)) %>%
  mutate(keyword= reorder(keyword,media)) %>%
    ggplot(aes(keyword,media, fill=keyword))+
    geom_bar(stat = "identity", colour="white")+
    geom_text(aes(label=round(media,2)), hjust=0, size=2)+
    coord_flip()+
    ylim(0,60)+
    ylab("Interesse medio in percentuale")+
    ggtitle(paste("Interesse medio in % su Google"), subtitle = " per partiti o politici in un mese dall'8 agosto 2022")

df %>%
  ggplot(aes(date,hits , colour=keyword))+
  geom_line(size=1)+
  ggtitle("Interesse in % nel tempo su Google",subtitle = "per partiti o politici nel mese precedente all'8 agosto 2022")

df2 <- rbind(result$interest_by_region, result2$interest_by_region)
colore<-2

for (p in levels(as.factor(df2$keyword))) {
  g <- df2 %>%
    filter(keyword==p) %>%
    mutate(location= reorder(location,hits)) %>%
    ggplot(aes(location,hits))+
    geom_bar(stat = "identity", colour="white", fill=colore)+
    geom_text(aes(label=hits), hjust=0, size=2)+
    coord_flip()+
    ylab("Interesse in percentuale")+
    ggtitle(paste("Interesse in % su Google per ",p), subtitle = "nel mese precedente all'8 agosto 2022 con valori mancanti senza barra")
  
  print(g)
  colore <- colore+2
  
}

colore<-2

for (p in levels(as.factor(df2$location))) {
  g <- df2 %>%
    filter(location==p) %>%
    mutate(keyword= reorder(keyword,hits)) %>%
    ggplot(aes(keyword,hits))+
    geom_bar(stat = "identity", colour="white", fill=colore)+
    geom_text(aes(label=hits), hjust=0, size=2)+
    coord_flip()+
    ylab("Interesse in percentuale")+
    ggtitle(paste("Interesse in % su Google in ",p), subtitle = "nel mese precedente all'8 agosto 2022 con valori mancanti senza barra")
  
  print(g)
  colore <- colore+2
  
}