データのお砂場(115) R言語、ducks、ハイブリッド・アヒルの特徴、{boot}

Joseph Halfmoon

前回は御病気の統計でしたが、今回はducksです。duckといえば北京ダック食いて~などと思う不埒な年寄です。しかしマガモとアヒル(duck)の関係も知らなかった年寄です。合鴨もいたな~(旨いな。)しかし今回のサンプルデータ・セットは羽毛を採る方かもしれません。オナガガモとマガモの「ハイブリッド」種についてです。

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

このところ、R言語のパッケージbootに含まれているサンプルデータセットを abc 順にみています。今回のデータセットは ducks です。

マガモ、アヒル、オナガガモ

duck(アヒル)とマガモさらに言えば合鴨との「関係」、まったくもって理解しておりませなんだ。

アヒルはマガモを家禽化したもの。生物学的には同じ種。

なんだそうです。見た目の色は違うが同じ生物種の「品種」レベルの差であると。さらに合鴨は「野生の」マガモとアヒルの交雑品種だということなので込み入ってます。調べるに以下の『大阪市立自然史博物館』様のページから1か所引用させていただいたお言葉がその辺の関係をあらわしておりますで。

Re[1]: カモとアヒルの違いについての質問

ご質問の点に関しては、そこで言われている“カモ”が何を指しているのかがよくわからないので、きちんと答えるのは困難です。カモの養殖場で飼育しているのが、野生のマガモを捕獲したものだとしても、飼育化で何代も繁殖させれば“アヒル”になるのは当然だと思います。

そういう関係だったのね。どうも動物を家畜化すると色が変わったりするものらしいし。。。図鑑的な絵がみたいところね。アヒル(duck)の絵が『畜産Z00鑑』様の以下のページにありました。

アヒルってこんな動物

一方、今回のサンプルデータセットで扱っているのは、マガモとオナガガモの「ハイブリッド」アヒルです。英名と列挙すれば以下の通り。

    • mallard マガモ
    • pintail ducks オナガガモ

『サントリー』様 日本の鳥百科に絵と解説記事がありました。

マガモ

オナガガモ

ハイブリッド・アヒルの行動と羽毛の特徴

さて、サンプルデータセットの解説ページは以下です。

Behavioral and Plumage Characteristics of Hybrid Ducks

これによるとマガモとオナガガモのハイブリッド・アヒル共についてあるインデックスで評価しているのです。そのインデックスは以下のとおり

    • plumage、外観的(羽毛)が似ている 0から20
    • behaviour、行動的に似ている 0から15

いずれも数が小さい方がマガモに近く、数が大きいとオナガガモに近いという値になっているらしいです。詳しいことはまったく書いてないです。

先ずは生データ

library(boot)を忘れずに、サンプルデータセットをロードしたところが以下に。形式は普通のデータ・フレームであります。ごくごく小さいデータセットなので、全データ表示しても大した量じゃないです。ducksRawData

とりあえず、2つのインデックスがどんな感じなのかboxplotしてみました。

boxplot(ducks)

プロットが以下に。
ducksHistgram

解説によるとplumargeの方は0から20と書いてあったけれども、どっちも15までしかないように見えるんだが。ハイブリッドだと典型的なオナガガモの20というインデックスは現れないのか?

上記のboxplotでは、plumageとbehaviourの間の関係が分からないので2次元プロットしてみました。

plot(ducks, col=2, pch=16)

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

上記をみるとなんとなく「線形な回帰」できそうな雰囲気。そこでlibrary(ggplot2)して、以下のように回帰直線を引いてみましたぞ。

p0 <- ggplot(ducks, aes(x=plumage, y=behaviour)) + geom_point() + geom_smooth(method="lm", formula=y~x)
p1 <- p0 + xlab("plumarge") + ylab("behaviour")
p2 <- p1 + ggtitle("Behavioral and Plumage Characteristics of Hybrid Ducks")
p2

グラフが以下に。ducksPlotLM

だいたい1直線に載っている感じがしないでもない。。。

ブートストラップ法を適用してみる

このplumargeとbehaviourインデックスについて以下のように無理やりブートストラップ法を適用してみました。いいのかそんなことで。

ducks.work <- ducks
ducks.work$ratio <- ducks$plumage / ducks$behaviour
colnames(ducks.work) <- c("plumage", "behaviour", "ratio")
ratioMean <- function(d, i) mean(ducks.work$ratio[i])
rm1000 <- boot(ducks.work, ratioMean, R=1000, stype = "i")
plot(rm1000)

結果のグラフが以下に。

ducksBootPLOT

plumarge対behaviourはだいたい1.2くらいの比率になる感じね。ducksBoot

羽毛を採るのにこういう「統計を駆使し」ているのかしら?知らんけど。でも行動指標でなんだ?

データのお砂場(114) R言語、downs.bc、BC州でのダウン症の発症率、{boot} へ戻る

データのお砂場(116) R言語、fir、バルサムモミの苗を数える、{boot} へ進む