今回はR言語でウィキペディアの内閣支持率のデータをスクレイピングしてみたいと思います。
こういう表のデータです。
この本を参考にしてやってみました。
まずは、必要なパッケージの読み込みです。tidyverseとevestパッケージをlibrary関数で読み込みます。
read_html関数でウェブのデータを読み込みます。
class関数で読み込んだhオブジェクトのクラスを確認します。
xml_document, xml_nodeというクラスのようです。
html_text関数で読み込んだウェブのテキストが表示されます。
まだまだ文字列が続くのですが割愛します。
これを見てもよくわからないですね。とりあえず、データは読み込まれたようです。
表の部分だけを取り出すには、html_nodes関数を使います。
3つ表があるようです。よく見ると、2番目がtable class = "sortable wikitable"となっているので、これが歴代内閣支持率の表のようです。
html_table関数でウェブの表をR言語のデータフレームに変換できます。
names関数でコラム名を確認してみます。
このコラム目を整理します。
1行目を表示してみます。
1行目を削除します。
head関数ではじめの数行を表示してみます。
55%とか14%などは文字列型になっているので、mutate_at関数とparse_number関数で数値型に変換します。
head関数ではじめの数行を表示してみます。
%が取れています。
str関数でほんとうに数値型になったか確認してみましょう。
数値型になっていますね。
内閣の名前が、01/第3次吉田内閣、02/鳩山一郎内閣などとあたまに何番目の内閣なのかの数字がついていますので、これを分離します。
separate関数を使います。
32行目と33行目はデータがありませんね。32行目、33行目、それをnumberも必要ないので削除しましょう。
これで完成です。
summary関数でデータのサマリを見てみます。
支持率の最高は86.3%、不支持率の最高は59.3%、支持率の最低は19.5%、不支持率の最低は5.0%です。
今回は以上です。
次回は、
です。