最終的にはEXCELのピボットに頼らず、plyr関数等でカッコよくデータをグリグリ集計できるようになることをゴールに何回か書きたいと思っています。
データ収集について
データについては、下記エントリーを参考にしながら、「時系列」で取得できるものを「別ファイル」で用意してください。
無料のスクレイピングサービス「import.io」が脅威の進化!(いつのまにか)
http://sapporomkt.blogspot.jp/2015/08/importio.html
参考ページ:(R言語)readHTMLTable関数でJ2の順位を音速で抜き出す。
http://sapporomkt.blogspot.jp/2015/07/rreadhtmltablej2.html
※WEBスクレイピングは、相手サーバーに負荷をかけないよう挙動がわかるツールやスクリプトを使ってください。もちろん、過度にアクセスのインターバルが短いものはダメです。
※readHTMLTable関数は、機種依存文字を含んでいると途中でコケます。
そもそも「rbind」関数ってなに?
おっと、説明の順番が逆でした(笑)。R言語における「rbind」関数は、個別のデータフレームを「行」で統合することが出来ます。また、「cbind」は「列」での統合となります。
このように書くとイメージしづらいかもしれませんので、実例をご覧ください。
時系列データを「行」で統合しよう!
事前に、JBISサイアーランキングから2011~2015年データを取得しておきます。
同一年度内で全ページに順回取得しても下位データはあまり使えないので、せいぜいトップ100の取得に留めてください(アクセス1回だけで済みますし)
今回は、JBIS Searchさんの「年度別サイアーランキング」からデータを拝借しました。
お天気好きな方は気象庁の時系列データでもいいかも。
jbis11.dat <- read.csv("JBIS_2011.csv")
# transform関数で列を追加です。下記のようにすると、全行に「2011」が入ります。
jbis11.dat <- transform(jbis11.dat, Year = 2011)
# 上記を繰り返した後、rbind関数でガッチャンコです。これだけ!
jbis_11_15.dat <- rbind(jbis11.dat,jbis12.dat,jbis13.dat,jbis14.dat,jbis15.dat)
# いちおう、CSVに書き出して内容確認しましょう。
write.table(jbis_11_15.dat, "jbis_11_15.csv", sep = ",")
0 件のコメント:
コメントを投稿