res <- gtrends("pizza",
               geo = "US",
               time=("2020-08-01 2020-08-31"))

names(res)
## [1] "interest_over_time"  "interest_by_country" "interest_by_region" 
## [4] "interest_by_dma"     "interest_by_city"    "related_topics"     
## [7] "related_queries"
res$interest_by_region %>%
  arrange(desc(hits)) %>%
  head(10)
##         location hits keyword geo gprop
## 1   Rhode Island  100   pizza  US   web
## 2    Connecticut   95   pizza  US   web
## 3       Delaware   91   pizza  US   web
## 4   Pennsylvania   90   pizza  US   web
## 5  New Hampshire   89   pizza  US   web
## 6  Massachusetts   84   pizza  US   web
## 7           Ohio   81   pizza  US   web
## 8       Michigan   79   pizza  US   web
## 9           Iowa   74   pizza  US   web
## 10       Indiana   72   pizza  US   web
res$interest_by_dma %>%
  arrange(desc(hits)) %>%
  head(10)
##                        location hits keyword geo gprop
## 1                  Salisbury MD  100   pizza  US   web
## 2       Hartford & New Haven CT   93   pizza  US   web
## 3                 Zanesville OH   92   pizza  US   web
## 4  Providence RI-New Bedford MA   91   pizza  US   web
## 5                 Youngstown OH   89   pizza  US   web
## 6                 Pittsburgh PA   85   pizza  US   web
## 7      Wilkes Barre-Scranton PA   83   pizza  US   web
## 8                    Buffalo NY   82   pizza  US   web
## 9     Traverse City-Cadillac MI   81   pizza  US   web
## 10              Philadelphia PA   81   pizza  US   web
res$interest_by_city %>%
  arrange(desc(hits)) %>%
  head(10)
##        location hits keyword geo gprop
## 1  Philadelphia  100   pizza  US   web
## 2       Detroit   92   pizza  US   web
## 3      Columbus   78   pizza  US   web
## 4     Milwaukee   72   pizza  US   web
## 5  Indianapolis   63   pizza  US   web
## 6       Chicago   62   pizza  US   web
## 7       Raleigh   60   pizza  US   web
## 8        Ferris   55   pizza  US   web
## 9        Denver   54   pizza  US   web
## 10      Phoenix   53   pizza  US   web
plot.gtrends.silent <- function(x, ...) {
  df <- x$interest_over_time
  df$date <- as.Date(df$date)
  df$hits <- if(typeof(df$hits) == 'character'){
    as.numeric(gsub('<','',df$hits))
  } else {
    df$hits
  }
  
  df$legend <- paste(df$keyword, " (", df$geo, ")", sep = "")
  
  p <- ggplot(df, aes_string(x = "date", y = "hits", color = "legend")) +
    geom_line() +
    xlab("Date") +
    ylab("Search hits") +
    ggtitle("Interest over time") +
    theme_bw() +
    theme(legend.title = element_blank())
  
  invisible(p)
}

my_plot <- plot.gtrends.silent(res)

my_plot +
  scale_x_date(date_breaks = "1 year", date_labels = "%Y") +
  theme(legend.position = "none")

#----------------------------

res <- gtrends("Amazon",
               geo = "US",
               time=("2019-01-01 2020-08-31"))
plot(res)

state <- map_data("state")

res$interest_by_region %>%
  mutate(region = tolower(location)) %>%
  filter(region %in% state$region) %>%
  select(region, hits) -> my_df

ggplot() +
  labs(title = "Amazon :  Keyword Google search",subtitle = "From 2019-01-01 to 2020-09-01",
        caption = "Datasource: Google Trends\nIllustration by @JoeLongSanDiego")+
  geom_map(data = state,
           map = state,
           aes(x = long, y = lat, map_id = region),
           fill="#ffffff", color="#ffffff", size=0.15) +
  geom_map(data = my_df,
           map = state,
           aes(fill = hits, map_id = region),
           color="#ffffff", size=0.15) +
  scale_fill_continuous(low = 'grey', high = 'brown') +
  theme(panel.background = element_blank(),
        axis.ticks = element_blank(),
        axis.text = element_blank(),
        axis.title = element_blank())
## Warning: Ignoring unknown aesthetics: x, y

#----------------------------

res <- gtrends("Home Depot",
               geo = "US",
               time=("2019-01-01 2020-09-01"))
plot(res)

state <- map_data("state")

res$interest_by_region %>%
  mutate(region = tolower(location)) %>%
  filter(region %in% state$region) %>%
  select(region, hits) -> my_df

ggplot() +
  labs(title = "Home_Depot :  Keyword Google search",
       subtitle = "From 2019-01-01 to 2020-09-01",
        caption = "Datasource: Google Trends\nIllustration by @JoeLongSanDiego")+
  geom_map(data = state,
           map = state,
           aes(x = long, y = lat, map_id = region),
           fill="#ffffff", color="#ffffff", size=0.15) +
  geom_map(data = my_df,
           map = state,
           aes(fill = hits, map_id = region),
           color="#ffffff", size=0.15) +
  scale_fill_continuous(low = 'grey', high = 'red') +
  theme(panel.background = element_blank(),
        axis.ticks = element_blank(),
        axis.text = element_blank(),
        axis.title = element_blank())
## Warning: Ignoring unknown aesthetics: x, y

#----------------------------

res <- gtrends("walmart",
               geo = "US",
               time=("2019-01-01 2020-08-31"))
plot(res,main="Google search for WALMART",
        xlab="August 2020",
        ylab="Count",
        sub="Data source: Google Trends")

state <- map_data("state")

res$interest_by_region %>%
  mutate(region = tolower(location)) %>%
  filter(region %in% state$region) %>%
  select(region, hits) -> my_df

ggplot() +
  labs(title = "Walmart : Keyword Google search",subtitle = "From 2019-01-01 to 2020-09-01",
       caption = "Datasource: Google Trends\nIllustration by @JoeLongSanDiego" )+
  geom_map(data = state,
           map = state,
           aes(x = long, y = lat, map_id = region),
           fill="#ffffff", color="#ffffff", size=0.15) +
  geom_map(data = my_df,
           map = state,
           aes(fill = hits, map_id = region),
           color="#ffffff", size=0.15) +
  scale_fill_continuous(low = 'grey', high = 'blue') +
  theme(panel.background = element_blank(),
        axis.ticks = element_blank(),
        axis.text = element_blank(),
        axis.title = element_blank())
## Warning: Ignoring unknown aesthetics: x, y

#----------------------------

res <- gtrends("Lowe's",
               geo = "US",
               time=("2019-01-01 2020-08-31"))
plot(res,main="Google search for LOWE'S",
        xlab="",
        ylab="Count",
        sub="Data source: Google Trends")

state <- map_data("state")

res$interest_by_region %>%
  mutate(region = tolower(location)) %>%
  filter(region %in% state$region) %>%
  select(region, hits) -> my_df

ggplot() +
  labs(title = "LOWE'S : Keyword Google search",subtitle = "From 2019-01-01 to 2020-09-01",
       caption = "Datasource: Google Trends\nIllustration by @JoeLongSanDiego" )+
  geom_map(data = state,
           map = state,
           aes(x = long, y = lat, map_id = region),
           fill="#ffffff", color="#ffffff", size=0.15) +
  geom_map(data = my_df,
           map = state,
           aes(fill = hits, map_id = region),
           color="#ffffff", size=0.15) +
  scale_fill_continuous(low = 'grey', high = 'green') +
  theme(panel.background = element_blank(),
        axis.ticks = element_blank(),
        axis.text = element_blank(),
        axis.title = element_blank())
## Warning: Ignoring unknown aesthetics: x, y