Rで解析:Google Trendsのデータを取得「gtrendsR」パッケージ

Rの解析に役に立つ記事
スポンサーリンク

Google Trendsのトレンドデータを取得することができるパッケージの紹介です。日本語検索も文字化けせずデータを取得することができます。

RにはGoogle Analytics、Google Search Console、Googleスプレッドシートを操作することができるパッケージもあります。Rから一通りGoogleのサービスを利用することができるのでウェブ解析に役に立つのではと思います。これらのパッケージはウェブ解析士の方にオススメです。

・Google Analyticsからデータを取得「RGA」パッケージの紹介
 https://www.karada-good.net/analyticsr/r-141/

・Google Search Consoleを操作!「searchConsoleR」パッケージ
 https://www.karada-good.net/analyticsr/r-215/

・Googleスプレッドシートの操作ができる!「googlesheets」パッケージ
 https://www.karada-good.net/analyticsr/r-136/

パッケージバージョンは1.5.1。実行コマンドはR version 4.2.2で確認しています。

スポンサーリンク

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

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

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

実行コマンド

詳細はコメント、パッケージのヘルプを確認してください。CRAN以外からのインストールが必要なパッケージはインストールコマンドを表示しています。全てのパッケージはからだにいいもので紹介していますので、検索してみてください。

相変わらず人気な”ダンまち”, “ヘスティア”を例に紹介します。

#パッケージの読み込み
library("gtrendsR")
library("ggplot2")
library("reshape")
library("scales")
library("stringi")

#macで日本語文字化け防止
#theme_set(theme_bw(base_family = "HiraKakuProN-W3"))

#グーグルアカウントを設定
usr <- "&#12513;&#12540;&#12523;&#12450;&#12489;&#12524;&#12473;&#12434;&#20837;&#21147;"
psw <- "&#12497;&#12473;&#12527;&#12540;&#12489;&#12434;&#20837;&#21147;"

#&#12450;&#12459;&#12454;&#12531;&#12488;&#12395;&#12525;&#12464;&#12452;&#12531;
gconnect(usr, psw)

#GoogleTrend&#12434;&#21462;&#24471;:gtrends&#12467;&#12510;&#12531;&#12489;
#&#26908;&#32034;&#12463;&#12456;&#12522;&#12398;&#25351;&#23450;:query&#12458;&#12503;&#12471;&#12519;&#12531;
#&#22320;&#22495;&#12398;&#25351;&#23450;:geo&#12458;&#12503;&#12471;&#12519;&#12531;
#&#21462;&#24471;&#21336;&#20301;&#12398;&#35373;&#23450;:res&#12458;&#12503;&#12471;&#12519;&#12531;:week,day&#12398;&#25351;&#23450;&#12364;&#21487;&#33021;
#&#21462;&#24471;&#26399;&#38291;&#12398;&#35373;&#23450;:start_date,end_date&#12458;&#12503;&#12471;&#12519;&#12531;
GetTrend <- gtrends(query = stri_encode(c("&#12480;&#12531;&#12414;&#12385;", "&#12504;&#12473;&#12486;&#12451;&#12450;"), "", "utf-8"), geo = "JP",
                    start_date = "2015-04-01", end_date = "2015-06-30")
#$trend&#12398;&#12521;&#12505;&#12523;&#12434;&#20462;&#27491;
names(GetTrend$trend) <- c("start", "&#12480;&#12531;&#12414;&#12385;", "&#12504;&#12473;&#12486;&#12451;&#12450;")

###&#26908;&#32034;&#25968;&#12434;&#25240;&#12428;&#32218;&#12464;&#12521;&#12501;&#12391;&#12503;&#12525;&#12483;&#12488;#####
#&#12464;&#12521;&#12501;&#29992;&#12395;&#12487;&#12540;&#12479;&#12434;&#21152;&#24037;
LinePlotData <- melt(GetTrend$trend, id = colnames(GetTrend$trend[1]),
                     measure = colnames(GetTrend$trend[2:ncol(GetTrend$trend)]))
#&#12503;&#12525;&#12483;&#12488;&#12467;&#12510;&#12531;&#12489;
ggplot(LinePlotData, aes(x = start, y = value, colour = variable)) +
  geom_line(size = 1.5) +
  labs(colour = "&#26908;&#32034;&#12463;&#12456;&#12522;", x = "&#26085;&#20184;", y = "&#26908;&#32034;&#25968;", title = GetTrend$meta) +
  scale_colour_manual("variable", values = c("#505457", "#4b61ba"))
########

###&#20154;&#27671;&#12398;&#12461;&#12540;&#12527;&#12540;&#12489;&#12434;&#26834;&#12464;&#12521;&#12501;&#12391;&#12503;&#12525;&#12483;&#12488;####
#&#12487;&#12540;&#12479;&#12434;&#25277;&#20986;
GetSearchData <- GetTrend$&#12480;&#12531;&#12414;&#12385;.&#12398;&#20154;&#27671;&#12461;&#12540;&#12527;&#12540;&#12489;
#&#38918;&#24207;&#12487;&#12540;&#12479;&#12434;&#20184;&#19982;
GetSearchData <- cbind(GetSearchData, 1:nrow(GetSearchData))
#&#33394;&#12434;&#35373;&#23450;
#scales&#12497;&#12483;&#12465;&#12540;&#12472;&#12434;&#21033;&#29992;
x <- seq(0, 1, length = 50)
colours <- seq_gradient_pal(c("#4b61ba", "#a87963"))(x)
#ggstance&#12497;&#12483;&#12465;&#12540;&#12472;&#12434;&#21033;&#29992;
#devtools::install_github("lionel-/ggstance")
library("ggstance")
ggplot(GetSearchData, aes(x = GetSearchData[, 2],
                          y = reorder(GetSearchData[, 1], GetSearchData[, 3]), 
                          fill = GetSearchData[, 2])) +
  geom_barh(aes(fill = GetSearchData[, 1]), stat = "identity") +
  labs(colour = GetSearchData[, 1], x = "&#26908;&#32034;&#25968;", y = "&#12461;&#12540;&#12527;&#12540;&#12489;", title = GetTrend$meta) +
  scale_fill_manual(colnames(GetSearchData[2]), values = colours, guide = FALSE)
#####

出力例

・検索数を折れ線グラフでプロット

GtrendLinePlot

・人気のキーワードを棒グラフでプロット

keywordgt

少しでも、あなたのウェブや実験の解析が楽になりますように!!

タイトルとURLをコピーしました