データのお砂場(213) R言語、cats、雄猫と雌猫の心臓重量と体重 {MASS}

Joseph Halfmoon

またもやデジャヴ?なサンプルデータセットです。catsです。某劇団の演目ではありませぬ。Rのサンプルデータベースを経めぐっているなかで、以前、bootパッケージにてcatsMというデータセットに遭遇しました。雄猫様の心臓重量と体重のデータでした。今回はそのフルセット版みたい。雌猫様のデータも含まれておると。

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

Anatomical Data from Domestic Cats

今回のサンプル・データ・セットについての解説ページが以下に。

https://stat.ethz.ch/R-manual/R-devel/library/MASS/html/cats.html

雄猫様のサブセット・データを扱った過去回が以下に。

データのお砂場(104) R言語、catsM、オス猫様の心臓の重さとな bootパッケージ

このデータセットは、ジギタリス(digitalis)という植物の心臓病に薬効がある(でも最近では植物からの製剤は使われないみたい)件についての研究用のものだったみたいです。雄猫様の過去回でも書きましたが、お猫様の体重は測れるけれども、心臓重量というのは「お亡くなりいただいて」取り出さないと測れんのではないかと想像。しかし今回タイトルにはハッキリ書いてありました。

Anatomical

と。やっぱり解剖されておしまいになったのね~。

先ずは生データ

生データをロードして、眺めたところが以下に。rawdataCats

Bwtが体重、kg単位。Hwtが心臓重量、g単位であります。性別のうちMaleが97とありますが、これは過去回で扱った雄猫様のデータセットと一致しております。過去回ではFemaleが0であったのが、こちらのデータセットでは47と数字が入っとります。

雄、雌、層別して平均値

過去回データと比較確認するためにも雄猫様、雌猫様に層別して、それぞれの平均値を求めてみます。操作はこんな感じ。

aggregate(cbind(Bwt, Hwt)~Sex, cats, mean)

結果が以下に。aggregate

黄色のマーカ引いてあるところは、過去回での集計結果と一致してます。

さてはプロット

過去回では、ggplot2つかって、ざっくりプロットしてみてますが、同じというのも芸がないので、今回はより「プリミティブ」な方法でプロットしてみてます。原点回帰?違うか。操作が以下に。

cats.F <- cats[cats$Sex=="F",]
cats.M <- cats[cats$Sex=="M",]
labels <- c("Female", "Male")
cols <- c("salmon", "skyblue")
plot(Hwt~Bwt, data=cats.F, xlim=c(2.0, 4.0), ylim=c(5, 25), main = "Cats Hwt~Bwt", xlab = "Bwt[kg]", ylab = "Hwt[g]", pch=16, col = cols[1])
par(new=T)
plot(Hwt~Bwt, data=cats.M, xlim=c(2.0, 4.0), ylim=c(5, 25),pch=16, col = cols[2], ann=F)
legend("bottomright", legend = labels, col = cols, pch=16)
cats.F.lm <- lm(Hwt~Bwt, data=cats.F)
abline(cats.F.lm, col=cols[1])
cats.M.lm <- lm(Hwt~Bwt, data=cats.M)
abline(cats.M.lm, col=cols[2])

プロット結果は以下です。plotCats

それぞれの回帰直線も書き添えてあります。回帰直線の裏側にある尊い犠牲に合掌。それにしてもジギタリスはどこに?

データのお砂場(212) R言語、caith、人々の瞳と髪の色の分類データ {MASS} へ戻る

コメントを残す

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