本文へスキップ
からだにいいもの

Rのトピックスを中心に『まだ、まだ、知らない、役に立つ情報?』を発信します。

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()

出力例

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

スポンサーリンク
Prices and shipping availability may change. Please refer to the product page at time of purchase.
Content displayed on this site is provided by Amazon and may be updated or removed.
Amazon Associate, karada-good earns income through qualifying sales.