Code
library(tidyverse)
library(gtrendsR)
Paquete gtrendsR
library(tidyverse)
library(gtrendsR)
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.
Vamos a consultar las marcas de autos más buscadas en Colombia, marcas como Mazda, Chevrolet, KIA y Renault.
<- gtrends(
autos keyword = c("mazda", "chevrolet", "kia", "renault"),
gprop = "web",
geo = c("CO"),
time = "all"
)
El argumento keyword
se utiliza para especificar las palabras clave que deseas analizar en Google Trends. Las opciones de entrada en keyword pueden ser:
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.
gtrends(keyword = c("autos eléctricos", "coches híbridos"))
gtrends(keyword = c("mazda", "chevrolet +camioneta"))
gtrends(keyword = c("mazda", "chevrolet -camioneta"))
Ejemplo:
gtrends(keyword = c("automóviles", "móviles"))
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:
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:
Código de ciudad (en algunos países): Algunas ciudades tienen códigos específicos, como:
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:
YYYY-MM-DD
para las fechas de inicio y fin, por ejemplo, time = "2020-01-01 2020-12-31"
.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.
class(autos)
[1] "gtrends" "list"
names(autos)
[1] "interest_over_time" "interest_by_country" "interest_by_region"
[4] "interest_by_dma" "interest_by_city" "related_topics"
[7] "related_queries"
|> summary() autos
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.
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.
Por defecto si graficamos el objeto autos
hará el gráfico correspondiente a la serie temporal.
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"
.
<- autos$interest_over_time
tiempo
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')
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.
<- autos$interest_by_region
regiones
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"…
$keyword regiones
[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"
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()