knitr::opts_chunk$set(warning = FALSE)
library(gtrendsR)
trend <- gtrends(
  keyword = c("BCA", "BNI", "Bank BRI"),
  geo = "ID",
  time = "today 12-m"  # Perbaikan ada di sini
)
#View(trend$interest_over_time)   # data frame 159x7
#View(trend$interest_by_region)   # data frame 102x5
#View(trend$interest_by_city)     # data frame 600x5
#View(trend$related_queries)      # data frame 1x6

# Lihat struktur data yang dihasilkan
str(trend)
## List of 7
##  $ interest_over_time :'data.frame': 159 obs. of  7 variables:
##   ..$ date    : POSIXct[1:159], format: "2025-05-11" "2025-05-18" ...
##   ..$ hits    : int [1:159] 80 83 88 86 81 80 86 93 85 88 ...
##   ..$ keyword : chr [1:159] "BCA" "BCA" "BCA" "BCA" ...
##   ..$ geo     : chr [1:159] "ID" "ID" "ID" "ID" ...
##   ..$ time    : chr [1:159] "today 12-m" "today 12-m" "today 12-m" "today 12-m" ...
##   ..$ gprop   : chr [1:159] "web" "web" "web" "web" ...
##   ..$ category: int [1:159] 0 0 0 0 0 0 0 0 0 0 ...
##  $ interest_by_country: NULL
##  $ interest_by_region :'data.frame': 102 obs. of  5 variables:
##   ..$ location: chr [1:102] "Special Capital Region of Jakarta" "Banten" "Riau Islands" "Bali" ...
##   ..$ hits    : int [1:102] 100 76 61 59 58 54 47 41 36 36 ...
##   ..$ keyword : chr [1:102] "BCA" "BCA" "BCA" "BCA" ...
##   ..$ geo     : chr [1:102] "ID" "ID" "ID" "ID" ...
##   ..$ gprop   : chr [1:102] "web" "web" "web" "web" ...
##  $ interest_by_dma    : NULL
##  $ interest_by_city   :'data.frame': 400 obs. of  5 variables:
##   ..$ location: chr [1:400] "Karimunjawa" "Jakarta" "Sukaraja" "Tangerang" ...
##   ..$ hits    : logi [1:400] NA NA NA NA NA NA ...
##   ..$ keyword : chr [1:400] "BCA" "BCA" "BCA" "BCA" ...
##   ..$ geo     : chr [1:400] "ID" "ID" "ID" "ID" ...
##   ..$ gprop   : chr [1:400] "web" "web" "web" "web" ...
##  $ related_topics     : NULL
##  $ related_queries    : NULL
##  - attr(*, "class")= chr [1:2] "gtrends" "list"
# Plot data yang sudah diambil
plot(trend)

# Pre-Processing Data
library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
df_time <- trend$interest_over_time %>%
  select(date, hits, keyword) %>%
  mutate(hits = as.numeric(ifelse(hits == "<1", 0, hits)))
#Data Minat Berdasarkan Provinsi
# Ambil data regional
library(ggplot2)
df_region <- trend$interest_by_region %>%
  filter(location != "") %>%
  group_by(keyword) %>%
  mutate(hits = as.numeric(ifelse(hits == "<1", 0, hits)))
head(df_region)
## # A tibble: 6 × 5
## # Groups:   keyword [1]
##   location                           hits keyword geo   gprop
##   <chr>                             <dbl> <chr>   <chr> <chr>
## 1 Special Capital Region of Jakarta   100 BCA     ID    web  
## 2 Banten                               76 BCA     ID    web  
## 3 Riau Islands                         61 BCA     ID    web  
## 4 Bali                                 59 BCA     ID    web  
## 5 West Java                            58 BCA     ID    web  
## 6 East Java                            54 BCA     ID    web
# Plot batang
ggplot(df_region, aes(x = reorder(location, hits), y = hits, fill = keyword)) +
  geom_bar(stat = "identity", position = "dodge") +
  coord_flip() +
  labs(title = "Minat Berdasarkan Provinsi",
       x = "Provinsi", y = "Tren (0–100)") +
  theme_minimal()

#Rata-Rata Popularitas Masing-Masing Kata Kunci
  df_avg <- df_time %>%
    group_by(keyword) %>%
    summarise(avg_hits = mean(hits))
  
  ggplot(df_avg, aes(x = reorder(keyword, -avg_hits), y = avg_hits, fill = keyword)) +
    geom_col() +
    labs(title = "Rata-rata Popularitas per Brand",
         x = "Brand", y = "Rata-rata Skor Pencarian") +
    theme_minimal()