OMDb API
動画では、リクエストの作り方さえ分かれば、API とやり取りするのがどれほど簡単かを確認しました。OMDb から Rain Man の情報を取得する方法も見ましたね。GET() を呼び出し、その後 content() 関数で中身を取り出します。httr パッケージの content() 関数は、内部で jsonlite を使って JSON データを R に読み込みます。
ただし、jsonlite 自体も URL を直接扱えることを、今では知っていますね。リクエスト URL をそのまま fromJSON() に渡せば、データを R に取り込めます。この演習では、この手法を使って Open Movie Database にある2本の映画の公開年を比較します。
この演習はコースの一部です
Rで学ぶ中級データインポート
演習の手順
- サンプルコードには2つの URL と、
sw4を作るためのfromJSON()呼び出しが含まれています。これと同様にしてsw3を作成してください。 sw4とsw3の両方で、名前付き要素Titleを表示してください。$演算子を使えます。どの映画を扱っているでしょうか?sw4の公開年がsw3より後ならTRUEになる式を書いてください。公開年は、名前付きリストのYear要素に格納されています。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
# The package jsonlite is already loaded
# Definition of the URLs
url_sw4 <- "http://www.omdbapi.com/?apikey=72bc447a&i=tt0076759&r=json"
url_sw3 <- "http://www.omdbapi.com/?apikey=72bc447a&i=tt0121766&r=json"
# Import two URLs with fromJSON(): sw4 and sw3
sw4 <- fromJSON(url_sw4)
# Print out the Title element of both lists
# Is the release year of sw4 later than sw3?