Paquete gtrendsR

Paquetes Usados

Code
library(tidyverse)
library(gtrendsR)

Descripción

Google Trends es una herramienta gratuita de Google que permite analizar la popularidad de términos de búsqueda a lo largo del tiempo. Muestra cómo varían las búsquedas de ciertas palabras clave en función de la región, el tiempo y otros factores. Es útil para identificar tendencias, intereses y patrones en línea.

El paquete gtrendsR en R permite acceder a datos de Google Trends, facilitando el análisis de tendencias de búsqueda a nivel global. Proporciona herramientas para explorar patrones temporales, comparar términos y realizar análisis sobre la popularidad de temas, lo cual es útil para estudios de mercado y comportamiento digital.

Haremos uso de este paquete para consultar algunos términos y usaremos algunas herramientas de visualización para mostrar los datos extraídos de este sitio.

Consulta de Términos

Vamos a consultar las marcas de autos más buscadas en Colombia, marcas como Mazda, Chevrolet, KIA y Renault.

Code
autos <- gtrends(
  keyword = c("mazda", "chevrolet", "kia", "renault"),
  gprop = "web",
  geo = c("CO"),
  time = "all"
)

El argumento keywordse utiliza para especificar las palabras clave que deseas analizar en Google Trends. Las opciones de entrada en keyword pueden ser:

  • Palabras clave individuales: Puedes pasar una o varias palabras clave como un vector de caracteres. Cada elemento del vector será una palabra o término de búsqueda que deseas analizar.

Ejemplo con una sola palabra clave: gtrends(keyword = "mazda")

Ejemplo con varias palabras clave: gtrends(keyword = c("mazda", "chevrolet", "kia", "renault"))

En este caso, se obtendrán las tendencias de búsqueda para los términos “mazda”, “chevrolet”, “kia” y “renault”.

  • Términos combinados con operadores lógicos: Puedes combinar palabras clave usando operadores lógicos, como el uso de comillas para frases exactas o el uso de + o - para incluir o excluir términos.

    • Usar frases exactas: Las palabras clave que incluyan espacios deben estar entre comillas para representar una frase exacta. Ejemplo:

gtrends(keyword = c("autos eléctricos", "coches híbridos"))

  • Incluir un término: Puedes buscar un término que contenga otros mediante el operador +. Ejemplo:

gtrends(keyword = c("mazda", "chevrolet +camioneta"))

  • Excluir un término: Puedes excluir términos específicos usando el operador -. Ejemplo:

gtrends(keyword = c("mazda", "chevrolet -camioneta"))

  • Palabras clave relacionadas con una categoría o tema: Google Trends permite explorar temas o categorías relacionadas, y puedes buscar por un término en varias categorías.

Ejemplo:

gtrends(keyword = c("automóviles", "móviles"))

  • Palabras clave con comodines o variaciones (menos común): Aunque Google Trends no permite el uso de comodines como * de manera explícita, las palabras clave pueden ser específicas o genéricas y puedes intentar buscar términos más amplios para ver resultados de búsqueda relacionados.

El argumento gprop define el tipo de propiedad de Google en la que se realizará la búsqueda. Las opciones de entrada que pueden usarse en este argumento son:

  • "web": Para obtener datos sobre búsquedas en la web en general.

  • "images": Para obtener datos de búsquedas relacionadas con imágenes.

  • "news": Para obtener datos de búsquedas relacionadas con noticias.

  • "youtube": Para obtener datos de búsquedas relacionadas con YouTube.

  • "froogle": (aunque menos utilizado): Para obtener datos de búsquedas relacionadas con Google Shopping (anteriormente conocido como Froogle).

El argumento geo permite especificar la ubicación geográfica para la cual deseas obtener los datos de tendencias. Las opciones de entrada en geo pueden ser:

  • Código de país: Puedes usar el código de dos letras del país (según el estándar ISO 3166-1 alpha-2) para filtrar los resultados a un país específico. Por ejemplo:

    • “US” para Estados Unidos.
    • “CO” para Colombia.
    • “MX” para México.
  • Códigos de regiones dentro de un país: Si deseas obtener tendencias para una región específica dentro de un país, puedes usar el código de la región. Por ejemplo:

    • “US-CA” para California en los Estados Unidos.
    • “MX-CDMX” para la Ciudad de México.
    • “BR-SP” para el estado de São Paulo en Brasil.
  • Código de ciudad (en algunos países): Algunas ciudades tienen códigos específicos, como:

    • “US-NY” para Nueva York.
    • “IN-DEL” para Delhi (India).
  • Código global (global): Si no se especifica ninguna ubicación geográfica (o se usa “global”), se obtienen las tendencias de búsqueda a nivel mundial.

El argumento time se usa para especificar el período de tiempo para el cual deseas obtener los datos de tendencias. Existen varias opciones de entrada que puedes utilizar, dependiendo de la duración y el formato que necesites. Algunas de las opciones más comunes son:

  • Opciones de tiempo predefinidas:
    • “today 1-m”: Últimos 30 días (1 mes).
    • “today 7-d”: Últimos 7 días.
    • “today 1-d”: Últimas 24 horas.
    • “today 90-d”: Últimos 90 días.
    • “today 12-m”: Últimos 12 meses.
    • “all”: Todos los datos disponibles desde el inicio de Google Trends.
  • Fechas personalizadas: Puedes usar un rango de fechas específico utilizando el formato YYYY-MM-DD para las fechas de inicio y fin, por ejemplo, time = "2020-01-01 2020-12-31".

Explorar Consulta Realizada

Ahora que tenemos la consulta guardada en el objeto autos, exploremos la información que contiene. El objeto es una lista, por lo tanto podemos acceder a los elementos contenidos en ella.

Code
class(autos)
[1] "gtrends" "list"   
Code
names(autos)
[1] "interest_over_time"  "interest_by_country" "interest_by_region" 
[4] "interest_by_dma"     "interest_by_city"    "related_topics"     
[7] "related_queries"    
Code
autos |> summary()
                    Length Class      Mode
interest_over_time  7      data.frame list
interest_by_country 0      -none-     NULL
interest_by_region  5      data.frame list
interest_by_dma     0      -none-     NULL
interest_by_city    5      data.frame list
related_topics      0      -none-     NULL
related_queries     0      -none-     NULL

Veamos interest_over_time, que es principalmente lo que nos interesa. Puedes acceder al dataframe con el operador $ y revisar la estructura de los datos.

Code
glimpse(autos$interest_over_time)
Rows: 1,012
Columns: 7
$ date     <dttm> 2004-01-01, 2004-02-01, 2004-03-01, 2004-04-01, 2004-05-01, …
$ hits     <int> 57, 38, 49, 48, 45, 32, 47, 47, 57, 59, 53, 66, 54, 53, 40, 4…
$ keyword  <chr> "mazda", "mazda", "mazda", "mazda", "mazda", "mazda", "mazda"…
$ geo      <chr> "CO", "CO", "CO", "CO", "CO", "CO", "CO", "CO", "CO", "CO", "…
$ time     <chr> "all", "all", "all", "all", "all", "all", "all", "all", "all"…
$ gprop    <chr> "web", "web", "web", "web", "web", "web", "web", "web", "web"…
$ category <int> 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0…

La documentacón de Google nos brinda información sobre la data que podemos obtener de la plataforma de Google Trends.

Gráficos

Gráfico en el Tiempo

Por defecto si graficamos el objeto autos hará el gráfico correspondiente a la serie temporal.

Code
plot(autos)

Para una primera visualización nos interesa la información "interest_over_time", la cual tiene la tendencia en el tiempo de las palabras consultadas.

Ahora podemos realizar un nuevo gráfico accediendo a los elementos de "interest_over_time".

Code
tiempo <- autos$interest_over_time

ggplot(data = tiempo) + 
  aes(x = date, y = hits, color = keyword) + 
  geom_line() +
  labs(title = "Interés en el Tiempo", x = "Fecha", y = "Interés Relativo") + 
  theme_minimal() + 
  theme(legend.position = 'right')

Gráfico Departamentos Colombia

Con la información obtenida de Google obtenemos las tendencias de acuerdo a las regiones del país, esto nos permite explorar la diferencia en las tendencias en cada una de estas zonas y hacer una comparación entre ellas.

Code
regiones <- autos$interest_by_region

glimpse(regiones)
Rows: 132
Columns: 5
$ location <chr> "Cesar", "La Guajira", "Quindio", "Risaralda", "Valle del Cau…
$ hits     <int> 100, 97, 84, 82, 78, 75, 75, 74, 71, 71, 70, 69, 68, 62, 60, …
$ keyword  <chr> "mazda", "mazda", "mazda", "mazda", "mazda", "mazda", "mazda"…
$ geo      <chr> "CO", "CO", "CO", "CO", "CO", "CO", "CO", "CO", "CO", "CO", "…
$ gprop    <chr> "web", "web", "web", "web", "web", "web", "web", "web", "web"…
Code
regiones$keyword
  [1] "mazda"     "mazda"     "mazda"     "mazda"     "mazda"     "mazda"    
  [7] "mazda"     "mazda"     "mazda"     "mazda"     "mazda"     "mazda"    
 [13] "mazda"     "mazda"     "mazda"     "mazda"     "mazda"     "mazda"    
 [19] "mazda"     "mazda"     "mazda"     "mazda"     "mazda"     "mazda"    
 [25] "mazda"     "mazda"     "mazda"     "mazda"     "mazda"     "mazda"    
 [31] "mazda"     "mazda"     "mazda"     "chevrolet" "chevrolet" "chevrolet"
 [37] "chevrolet" "chevrolet" "chevrolet" "chevrolet" "chevrolet" "chevrolet"
 [43] "chevrolet" "chevrolet" "chevrolet" "chevrolet" "chevrolet" "chevrolet"
 [49] "chevrolet" "chevrolet" "chevrolet" "chevrolet" "chevrolet" "chevrolet"
 [55] "chevrolet" "chevrolet" "chevrolet" "chevrolet" "chevrolet" "chevrolet"
 [61] "chevrolet" "chevrolet" "chevrolet" "chevrolet" "chevrolet" "chevrolet"
 [67] "kia"       "kia"       "kia"       "kia"       "kia"       "kia"      
 [73] "kia"       "kia"       "kia"       "kia"       "kia"       "kia"      
 [79] "kia"       "kia"       "kia"       "kia"       "kia"       "kia"      
 [85] "kia"       "kia"       "kia"       "kia"       "kia"       "kia"      
 [91] "kia"       "kia"       "kia"       "kia"       "kia"       "kia"      
 [97] "kia"       "kia"       "kia"       "renault"   "renault"   "renault"  
[103] "renault"   "renault"   "renault"   "renault"   "renault"   "renault"  
[109] "renault"   "renault"   "renault"   "renault"   "renault"   "renault"  
[115] "renault"   "renault"   "renault"   "renault"   "renault"   "renault"  
[121] "renault"   "renault"   "renault"   "renault"   "renault"   "renault"  
[127] "renault"   "renault"   "renault"   "renault"   "renault"   "renault"  
Code
ggplot(data = regiones) +
  aes(x = reorder(location, hits), fill = keyword, weight = hits) +  # Reorganiza las barras de mayor a menor
  geom_bar() + 
  #scale_fill_brewer(palette = "RdYlBu") + 
  labs(title = "Interés por Departamento",
       x = "Departamento", 
       y = "Interés Relativo") + 
  theme_minimal() + 
  coord_flip()