11  データのダウンロード

これまではGapminderのデータを使ってデータ分析を学んできましたが、自分でデータ分析をやるとなると、当然、他のデータを使いたいと思います。今回は、R/Python上からオンラインで公開されているデータを呼び出す方法を紹介します。具体的には以下のデータを扱います。

11.1 Google Trend

Google Trendsというサービスがあります。グーグルの検索トレンドを表示してくれます(検索”数”ではない点に注意)。

RやPythonではGoogle TrendsのデータをダウンロードするパッケージgtrendsRpytrendsがあります。

R
library(gtrendsR)
Python
from pytrends.request import TrendReq

例えば、“ウクライナ”と”ガザ”のトレンドを取得します。

R
out_gtrends <- gtrends(c("ウクライナ", "ガザ"), hl = "ja-JP", time = "today 12-m", tz = 540)
Python
pytrends = TrendReq(hl='ja-JP', tz=540)
pytrends.build_payload(kw_list=["ウクライナ", "ガザ"], timeframe='today 12-m')
  • hlで言語、tzでタイムゾーン、time[frame]で期間を指定します。

それぞれのオブジェクトの中のinterest_over_timeにデータが含まれています。

R
head(out_gtrends$interest_over_time)
        date hits    keyword   geo       time gprop category
1 2023-05-07   73 ウクライナ world today 12-m   web        0
2 2023-05-14   96 ウクライナ world today 12-m   web        0
3 2023-05-21   97 ウクライナ world today 12-m   web        0
4 2023-05-28   75 ウクライナ world today 12-m   web        0
5 2023-06-04   98 ウクライナ world today 12-m   web        0
6 2023-06-11   98 ウクライナ world today 12-m   web        0
  • Rではオブジェクトの中に別のオブジェクトが入れ子になっている場合、$で取り出せます。
Python
pytrends.interest_over_time
<bound method TrendReq.interest_over_time of <pytrends.request.TrendReq object at 0x7fcd445f2250>>

他にも地域別の傾向なども分かるので、調べてみてください。

11.2 Google Ngram

Google Ngram Viewerというサービスがあります。グーグルが電子化した書籍に単語が各年にどれくらいの割合で出現するかが分かります。

  • ちなみに、国会図書館もNDL Ngram Viewerという日本語向けの同様のサービスを提供しています。

RではGoogle Trendsのデータをダウンロードするパッケージngramrがあります。

R
library(ngramr)

試しに”Japan”と”China”の出現割合をダウンロードしてみます。

R
out_ngram <- ngram(c("Japan", "China"), year_start = 1950)

head(out_ngram)
# Ngram data table
# Phrases:      China, Japan
# Case-sensitive:   TRUE
# Corpuses:     en-2019
# Smoothing:        3
# Years:        1950-1955

  Year Phrase    Frequency  Corpus
1 1950  Japan 6.193348e-05 en-2019
2 1951  Japan 6.231487e-05 en-2019
3 1952  Japan 6.328589e-05 en-2019
4 1953  Japan 6.391569e-05 en-2019
5 1954  Japan 6.455746e-05 en-2019
6 1955  Japan 6.454950e-05 en-2019

11.3 Wikipedia

WikipediaのPageviews Analysisによって記事の閲覧件数を見ることができます。Rではpageviewsでデータを取得できます。

ただし、このパッケージはRで公開されていないので、GitHubからダウンロードする必要があります。まず、remotesというパッケージをインストールします。そして、次のコードを実行します。

R
remotes::install_github("ironholds/pageviews")
  • remotes::remotesパッケージの中の以下の関数という意味です。library()で呼び出さずに関数を使うことができます。
  • install_github()でGitHub上のRパッケージをインストールします。
    • "ironholds/pageviews"ironholdsというリポジトリのpageviewsというパッケージという意味です。

このようにして閲覧件数を取得します。

R
library(pageviews)

wiki_trend <- article_pageviews(project = "ja.wikipedia",
                                article = c("小泉純一郎", "小泉進次郎"),
                                start = "2015070100",
                                end = Sys.Date())

head(wiki_trend)
    project language    article     access      agent granularity       date
1 wikipedia       ja 小泉純一郎 all-access all-agents       daily 2015-07-01
2 wikipedia       ja 小泉純一郎 all-access all-agents       daily 2015-07-02
3 wikipedia       ja 小泉純一郎 all-access all-agents       daily 2015-07-03
4 wikipedia       ja 小泉純一郎 all-access all-agents       daily 2015-07-04
5 wikipedia       ja 小泉純一郎 all-access all-agents       daily 2015-07-05
6 wikipedia       ja 小泉純一郎 all-access all-agents       daily 2015-07-06
  views
1  1167
2  1095
3  1253
4  1116
5  3679
6  1448
  • Sys.Date()は本日という意味です。