データのお砂場(186) R言語、Animals再び? でも中身は違うのよ{MASS}

Joseph Halfmoon

MASSパッケージのサンプルデータセットの2つ目は、Animalsです。忘却力の老人は定かには思い出せんのですが、何やら既にやったような記憶がありました。しかし同名ですが、異なるデータセットでした。「中の人」もお名前が被っているのは気になっているみたい。名前被りだけでなく、似たものも複数あり。いろいろあるみたいだ。

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

Animalsデータセット

今回練習してみる、MASSパッケージ内所蔵のサンプルデータセットは以下です。

Animals: Brain and Body Weights for 28 Species

タイトルにあるとおり、28種の動物どもの脳の重量[g]と体重[kg]を並べたデータのようです。一方、以下の過去回で練習したデータセットは、

データのお砂場(140) R言語、animals、動物のクラスタリング{cluster}

2値のカテゴリカルなデータを何種類か使って動物どもをクラスタリングする向きのものでした。同名だけれども異なるデータでした。

一方、MASSパッケージのAnimalsにはどうも「親類筋」のサンプルデータセットが複数あるみたい。まずMASSパッケージ内の mammals データセットのタイトルみると以下のようです。

Brain and Body Weights for 62 Species of Land Mammals

これまた脳と体重のデータみたい。それも62種類とな。今回のAnimalsよりも多いじゃん。それどころか、ネットで検索してみると、Animals2というデータセットもあることに気づきました。

Brain and Body Weights for 65 Species of Land Animals

どうも上記のAnimals2は、MASSパッケージのAnimalsとmammalsを結合した上で、重複を取り除いただけのものみたいです。いろいろ似たようなものがあることは分かりましたが、今回は MASSパッケージのAnimalsを練習したいと思います。

MASSパッケージのAnimals、まずは生データ

まずは生データをロードしてみます。AnimalsRawData

上記のように淡々と体重[kg]、脳重量[g]がリストされとるだけのデータであるようです。しかし、summaryみると範囲が広いデス。単純に散布図をプロットしても残念な結果になりそうです。そこで、以下のように

plot(Animals, log = "xy", pch = 16, col='red', main="Animals")

両対数グラフとしてみました。こんな感じ。rawPlot

上記をみると、クラスタリングなどせずとも緑の楕円内の3点が「ハズレもの」であることが分かります。

Animalsサンプルデータには、各行にデータ名がつけられてます。それを確認してみるとこんな感じ。AnimalsRawData2

上記の行名をプロット上に重ねるには以下で。

text(Animals$body,Animals$brain,labels=rownames(Animals))

お名前を重ねたプロットが以下に。rawPlotLABEL_EC

なんだ、ハズレものどもは恐竜ではないか。

恐竜データを排除して回帰分析実施

恐竜を除くために行番号を確認。rownames

恐竜どもの行は以下です。

    • Diplodocus、6
    • Triceratops、16
    • Brachiosaurus、26

恐竜を除いたデータを取り出し。

Animals.wo <- Animals[-c(6, 16, 26),]

これに回帰分析(両対数での)を行ってプロットするためのコードが以下に

x<-log(Animals.wo$body)
y<-log(Animals.wo$brain)
plot(x, y, pch = 16, col='blue', main="log-log(Animals)", xlab="log(body)", ylab="log(brain)")
lm.obj<-lm(y~x)
abline(lm.obj, col="red")

プロット結果が以下に。regGraph

かなり、いい感じでないかい。

ちなみに回帰分析のパラメータが以下に(対数データに対して)lmResult

今回のサンプルデータセットは「古代の動物」どもを取り除いて回帰分析する練習ということで良かったのか?

データのお砂場(185) R言語、Aids2、昔のオーストラリアのAIDS事情?{MASS} へ戻る

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です