2017-12-24

Google Trends en R con gtrendsR

Problema

Deseamos importar y representar gráficamente en R datos de Google Trends. Como el siguiente ejempo en el que mostramos el interés en el tiempo de estos 3 términos de búsqueda.

Solución

Empleamos el paquete gtrendsR. Básicamente consiste de una función, gtrends, que extrae la información de Google Trends.

library("gtrendsR")
palabras_clave <- c("Pho", "Ramen", "Soba")
tendencias <- gtrends(palabras_clave, time = "all")
plot(tendencias)
  • Especificando la categoría y usando ggplot2
  • Abajo, en la sección notas, más información sobre los argumentos.

    id <- categories[grepl("^Cooking", categories$name), ]
    tendencias_gg <- gtrends(palabras_clave, 
                             time = "all", 
                             category = as.numeric(id[, 2]))
    
    library(ggplot2)
    tendencias_gg <- tendencias_gg$interest_over_time
    ggplot(data = tendencias_gg) + geom_line(aes(x = date, y = hits, colour = keyword), size =1)+
      scale_x_date(date_breaks = "1 year", date_labels = "%Y")+
      theme_bw() 
    

    Notas

    Los principales argumentos de gtrends son:

    keyword - Las palabras clave que queremos consulta, con un máximo de 5 cada vez.
    geo - Un vector con los country_codes de los países para la consulta. Por defecto es en todo el mundo (worldwide).
    time - Una cadena de texto con el periodo de tiempo deseado. Por defecto los últimos 5 años.
    gprop - Producto de Google: web (por defecto), noticias (news), imágenes (imágenes), froogle, y youtube.
    category - El id de la categoría a consultar.

    Para consultar los countries_codes y los ids de la categoría.

    data("countries")
    head(countries)
    
     country_code           description sub_code
    1           AD              .ANDORRA         
    2           AD                 Escas    AD-04
    3           AE .UNITED ARAB EMIRATES         
    4           AE             Abu Dhabi    AE-AZ
    5           AE Ahmed Bin Rashid Port    AE-AZ
    6           AE           Al Fujayrah    AE-FU
    
    data("categories")
    head(categories)
    
                                  name   id
    1                   All categories    0
    3             Arts & Entertainment    3
    5 Celebrities & Entertainment News  184
    6               Comics & Animation  316
    8                   Animated Films 1104
    9                    Anime & Manga  317
    
    gtrends crea una lista de 6 data frames:

    names(tendencias)
    
    [1] "interest_over_time" "interest_by_region" "interest_by_dma"   
    [4] "interest_by_city"   "related_topics"     "related_queries"
    
    La función plot representa gráficamente el data frame interest_over_time.

    Referencias

    No hay comentarios:

    Publicar un comentario

    Nube de datos