2015年10月28日水曜日

【R言語】どうしても「ディープインパクト」全産駒の内訳を集計したくなったの<前処理編>。

 僕のこと、暇だと思ってません?
・・・いや、そこまで暇ではないのですが、ムショウに

「ディープインパクト」全産駒の内訳を集計したいっ!

 ・・・と思い込んで、仕事が手につかなかったのは、やや、認めます。


分析対象データ


 毎度おなじみのJBISさんからデータを拝借。
「ディープインパクト」全産駒のデータを収集することが出来ます。

http://www.jbis.or.jp/horse/0000742976/sire/progeny/0000/?belong=&sort=name&order=A&page=1

 ブラウザからコピペするか、以前ご紹介したスクレイピングサービス等をご活用ください。
ただ、後者の場合、サーバーに負荷を掛けないよう、数画面ずつ個別に採取する等、ご配慮くださいませ。


ソースコード


# もっとスマートなやり方もあると思いますが、なにぶん、初心者なのでご勘弁を。
# 今回は元データを2ファイルに分けて保存しておきました。
deep1.dat <- read.csv("1_sheet_deep_impact.csv")
deep2.dat <- read.csv("2_sheet_deep_impact.csv")

# 列数と列名は同じなので、rbind関数でマージ。
deep.dat <- rbind(deep1.dat,deep2.dat)

# わかっていたことだけど、Link列とかうっとおしい・・・。
View(deep.dat)
 



# 都度、data.frame名称を入力するのは面倒。attach関数しとくと列名を直接入力でOK。
attach(deep.dat)

# 列番号を入力してもいいのだけど、視認しづらいので。
(deep_col_names <- colnames(deep.dat))

# 下記に列名をコピペ。""で囲むのをお忘れなく。
deep_1.dat <- deep.dat[, !(colnames(deep.dat) %in% c("link_1","link_1._title","link_2","link_2._title","link_3","link_3._title","link_4","link_4._title","link_5","link_5._title","image","X_PAGE_NUMBER"))]

# 出来たdata.farmeをもっかい確認。
View(deep_1.dat)

# 各列の名前準備
deep_names <- c("馬名","生年","性別","母馬","調教師","所属","生産牧場","総賞金(万円)","前走_レース","前走_年度","前走_グレード","前走_順位")

# 列名の上書き
colnames(deep_1.dat) <- deep_names

# 出来上がり。次回はこれでクロス集計とかやってみます。
View(deep_1.dat)

0 件のコメント:

コメントを投稿