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)
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.
No hay comentarios:
Publicar un comentario