Rで解析:Googleトレンドの情報を取得「gtrendsR」パッケージ


Googleトレンドの情報を取得することが可能なパッケージの紹介です。実行コマンドでは2020-01-01から2022-01-26の「鬼滅の刃」の情報を取得後、都道府県別の検索数(interest_by_region)を各都道府県を四角で表示した日本地図にプロットしました。

パッケージバージョンは1.5.0。実行コマンドはwindows 11のR version 4.1.2で確認しています。

パッケージのインストール

下記、コマンドを実行してください。

#パッケージのインストール
install.packages("gtrendsR")

実行コマンド

詳細はコメント、パッケージのヘルプを確認してください。

#パッケージの読み込み
library("gtrendsR")
#tidyverseパッケージがなければインストール
if(!require("tidyverse", quietly = TRUE)){
  install.packages("tidyverse");require("tidyverse")
}

#googleトレンドの取得:gtrendコマンド
#対象の国:geoオプション
#対象期間:timeオプション;
#"now 1-H","now 4-H","now 1-d","now 7-d","today 1-m",
#"today 3-m","today 12-m","today+5-y","all","Y-m-d Y-m-d"が可能
#対象の検索:gpropオプション;"web","news","images","froogle","youtube"
#カテゴリの指定:categoryオプション;data(categories)でidを確認,All categories:0
TrendData <- gtrends(keyword = c("鬼滅の刃"), geo = c("JP"),
                     time = paste0("2020-01-01 ",
                                   format(Sys.time(), "%Y-%m-%d")),
                     gprop = "web", category = 0)

#Rでお遊び:何かに使えるかも?各都道府県を四角で表示!
#https://www.karada-good.net/analyticsr/r-597/
#日本地図にinterest_by_regionを表示
JpanMiniMap <- tibble(
  #都道府県名
  Pref = c("北海道", "青森県", "岩手県", "宮城県", "福島県", "茨城県", "千葉県", "秋田県", "山形県",
           "新潟県", "栃木県", "埼玉県", "東京都", "群馬県", "山梨県", "神奈川県", "富山県",
           "長野県", "静岡県", "石川県", "福井県", "岐阜県", "愛知県", "滋賀県", "三重県",
           "京都府", "奈良県", "和歌山県", "兵庫県", "大阪府", "鳥取県", "岡山県", "島根県",
           "広島県", "香川県", "徳島県", "愛媛県", "高知県", "山口県", "福岡県", "大分県",
           "宮崎県", "佐賀県", "熊本県", "鹿児島県", "長崎県", "沖縄県"),
  EPref = c("Hokkaido", "Aomori", "Iwate", "Miyagi", "Fukushima", "Ibaraki", "Chiba", "Akita", "Yamagata",
            "Niigata", "Tochigi", "Saitama", "Tokyo", "Gunma", "Yamanashi", "Kanagawa", "Toyama",
            "Nagano", "Shizuoka", "Ishikawa", "Fukui", "Gifu", "Aichi", "Shiga", "Mie",
            "Kyoto", "Nara", "Wakayama", "Hyogo", "Osaka", "Tottori", "Okayama", "Shimane",
            "Hiroshima", "Kagawa", "Tokushima", "Ehime", "Kochi", "Yamaguchi", "Fukuoka", "Oita",
            "Miyazaki", "Saga", "Kumamoto", "Kagoshima", "Nagasaki", "Okinawa"),
  #各都道府県の位置
  x = c(15.9, 15.5, 16, 16, 15.7, 15.7, 16, 15, 15, 14.7, 14.7, 15,
        15, 13.7, 14, 14, 12.7, 13, 13, 11.7, 11.7, 12, 12, 11, 11,
        10, 10, 10, 9, 9, 8, 8, 7, 7, 7.5, 7.5, 6.5, 6.5, 6, 4.5, 4.5,
        4.5, 3.5, 3.5, 3.5, 2.5, 2),
  y = c(12.9, 10.5, 9.5, 8.5, 7.5, 6.5, 5.5, 9.5, 8.5, 7.5, 6.5, 5.5,
        4.5, 6.5, 5.5, 4.5, 6.5, 5.5, 4.5, 7.5, 6.5, 5.5, 4.5, 5.5,
        4.5, 6, 5, 4, 5.5, 4.5, 6, 5, 6, 5, 3.5, 2.5, 3.5, 2.5, 5.5, 5, 4,
        3, 5, 4, 3, 5, 2),
  #widthとheightはタイルの大きさ
  width = c(2.5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
            1, 1, 1, 1, 1, 1),
  height = c(2.5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
             1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
             1, 1, 1, 1, 1, 1))

#TrendDataを整えてJpanMiniMapに結合
TrendData$interest_by_region %>%
  mutate(location = str_replace_all(location,
                                    pattern = " Prefecture",
                                    replacement = "")) %>%
  mutate(EPref = factor(location, levels = JpanMiniMap$EPref),
         .keep = "unused", .before = hits) %>%
  arrange(EPref) %>%
  mutate(hits = replace_na(hits, 0)) %>%
  inner_join(JpanMiniMap, by = "EPref") -> PlotData

#プロット
ggplot(PlotData,
       aes(x = x, y = y, width = width, height = height)) +
  geom_tile(aes(fill = hits),
            color = "grey", show.legend = TRUE) +
  geom_text(aes(label = Pref), size = 2.6) +
  labs(title = "検索ワード[鬼滅の刃]_20/01/01-22/01/26_interest_by_region") +
  coord_fixed(ratio = 1) +
  scale_fill_distiller(palette = "Spectral", name = "hits") +
  theme_void()

出力例


少しでも、あなたの解析が楽になりますように!!

スポンサードリンク

スポンサードリンク