データのお砂場(32) R言語、USArrests、犯罪逮捕率データを訂正とな?

Joseph Halfmoon

R言語所蔵のサンプルデータをABC順(大文字先)で端から眺めておりますが、今回も前回に引き続き目出度いデータとは言えません。1973年の米国の各州別の都市人口比率と凶悪犯逮捕の比率です。その関係性について調べるのかと思いきや今回のテーマはデータの訂正の仕方です。誰かが転記ミスをしてそれに気づいた人がいると。流石です。

※「データのお砂場」投稿順Indexはこちら

今回のサンプルデータセットの説明ページは以下です。

Violent Crime Rates by US State

ここで統計とられているのは、日本の凶悪犯とか粗暴犯というカテゴリとはちょっと異なるように思われますがそこに含まれるヤバイものばかり。数値は人口十万人あたりの逮捕件数(逮捕ってことは、つかまってない人は数えていないのね。。。)です。これと都市部人口比率(%)を合わせて50州のデータが並んでいる表です。ただ1973年当時です。ほぼ半世紀後の現在はどうなっているのか?

ただ、このデータはそういう犯罪率を考察するためとしてサンプルデータセットになっているわけではなく、データの訂正の練習用みたいです。

まずは生データ

いつもの通り、生データをロードして、形式やらデータの一部やらを眺め、プロットしてみます。こんな感じ。USArrestsRawdata

普通の data.frame データです。プロット結果が以下に。Murder(犯人率?)とAssault(犯人率?)など、ほぼほぼ比例関係にも見えますな。恐ろしや。USArrestsPlot

処理例

今回は訂正処理なので処理例にそって処理してみます。なんといっても「元の数字」を知らない私は手も足もでません(知っていてもどうだか?)

まずは処理例では summary()関数使ってデータの塩梅を見ています。クールね。そしてpairs使ってプロット。単にplot()している上記とは一味違いますな。USArrestsSummary

pairsの結果が以下に。赤の線が入っているだけでなんだか分かったような気がします。。。ホントか?USArrestsPair

さて本題の修正です。Maryland州の都市人口比率が間違っていたみたいですな。まずはデータを複製して修正済のデータを格納する入れ物 UA.Cを作ってから、データの確認と修正が以下に。correct00

ついでといっては何ですが、人口比率の%データが気に入らなかった?のかオリジナルに戻すようです。処理例からコメント1行引用させていただきます。

also +/- 0.5 to restore the original <n>.5 percentages

これはどういうことかというと、R言語のroundは「偶数丸め」だからです。Rに限らずモダンな言語は皆そうでないかと。世の中標準。でも小学生以来慣れ親しんだ「4捨5入」と比べると違うことがあります。以下のような例を見るとちょっと違和感がしないでもないです。roundExample

その辺を「鑑みて」か、単にデータ修正の練習か、合計6州のデータに0.5を足し引きしてオリジナルに戻しているみたいです。こんな感じ。

correct01

目出度く訂正できたので、UA.Cデータをグラフにしたものを冒頭のアイキャッチ画像に掲げました。グラフにしたらどこ訂正したのかわからんぞなもし。

データのお砂場(31) R言語、USAccDeaths、米国における事故死データ6年分 へ戻る

データのお砂場(33) R言語、USJudgeRatings、米国の判事さんの評価?とな? へ進む