過去の記事はこちらになります。
これからVectorで演算をやっていくことになります。まあ本格的といっても入門ですが...。
#1.Vectorを組み合わせてみる
前回まではVectorやデータフレームの単体を並べ替えたりデータを抽出しただけでした。例えば以下のように、人口が最大の州を抽出するとか
> murders$state[which.max(murders$population)]
[1] "California"
Vectorに対する算術演算はエレメントごとに行います。例えばインチ単位の身長のVectorをセンチ単位に変換するには、以下のようになります。
#inch 単位の身長データ
> heights <- c(69,62,66,70,70,73,67,73,67,70)
#inch → cm に変換
> heights * 2.54
[1] 175.26 157.48 167.64 177.80 177.80 185.42 170.18 185.42 170.18 177.80
これを先ほどの殺人に当てはめてやってみましょう。統計っぽく10万人あたりの殺人件数を計算してみます。結果は多い順で表示します。
> murder_rate <- murders$total/murders$population*100000
> murders$state[order(murder_rate,decreasing = TRUE)]
[1] "District of Columbia" "Louisiana" "Missouri"
[4] "Maryland" "South Carolina" "Delaware"
[7] "Michigan" "Mississippi" "Georgia"
[10] "Arizona" "Pennsylvania" "Tennessee"
[13] "Florida" "California" "New Mexico"
[16] "Texas" "Arkansas" "Virginia"
[19] "Nevada" "North Carolina" "Oklahoma"
[22] "Illinois" "Alabama" "New Jersey"
[25] "Connecticut" "Ohio" "Alaska"
[28] "Kentucky" "New York" "Kansas"
[31] "Indiana" "Massachusetts" "Nebraska"
[34] "Wisconsin" "Rhode Island" "West Virginia"
[37] "Washington" "Colorado" "Montana"
[40] "Minnesota" "South Dakota" "Oregon"
[43] "Wyoming" "Maine" "Utah"
[46] "Idaho" "Iowa" "North Dakota"
[49] "Hawaii" "New Hampshire" "Vermont"
# 10万人あたりの殺人件数の全国平均
mean(murder_rate)
[1] 2.779125
10万人当たりの殺人件数でいうとカリフォルニアは14位になりました。ちなみに全国平均を出すと10万人あたり2.7人。2億5000万くらいだったので年間7000人くらいが殺人事件の被害者になっているようです。
この後のテストは簡単でした。どっちかというとdefineしなさいとか言われた方が意図わかんなくて困りました。この章はちょっと短すぎるのであとで何か足すかもしれません。でも今日のところは2章終わってしまったのでこのページは終わりにします。第3章では本格的にデータセットを操作したりグラフを作ったりするみたいです。長い序章だった...。
第五回へ続きます。