Slide 1

Slide 1 text

パーマーステーションの ペンギンたち #1 Tokyo.R #99 (2022/06/04) @bob3bob3 Artwork by @allison_horst

Slide 2

Slide 2 text

パーマーステーションのペンギンたち Rには様々なサンプルデータセットが用 意されているのもいいところ。
 その中でもpalmerpenguinsパッケージの データセットが練習用、学習用にちょう ど良いので紹介したいというお話。
 とりあえず、いますぐ
 install.packages("palmerpenguins") しましょう!
 Artwork by @allison_horst

Slide 3

Slide 3 text

どう良いの? ● ペンギンがかわいい。 ● 整形済みのデータと整形前のデータの両方がある。 ● 名義尺度と連続尺度の両方の変数が含まれる。 ● 名義尺度の変数が複数含まれる。 ● 連続尺度の変数も複数含まれる。 ● 欠測値(NA)が含まれる。 ● 日時の変数が含まれる。 ● ペンギンがカワイイ。

Slide 4

Slide 4 text

palmerpenguinsパッケージ 南極にある米国の越冬基地パーマー基地において Kristen Gorman 博士が行ったペン ギンの生態調査のデータセットです。
 引用元 引用元

Slide 5

Slide 5 text

引用元

Slide 6

Slide 6 text

引用元

Slide 7

Slide 7 text

トージャーセン島 引用元 Cynthia Spence (CC BY-NC-ND 4.0) トージャーセン島から眺めるパーマー基地 Cynthia Spence (CC BY-NC-ND 4.0)

Slide 8

Slide 8 text

引用元

Slide 9

Slide 9 text

引用元 IMDb パーマー基地が舞台となる日本映画

Slide 10

Slide 10 text

どんなデータ? ● 2007年、2008年、2009年の3回の調査(越冬隊?)。
 ● ビスコー諸島、ドリーム島、トージャーセン島の3か所。
 ● アデリーペンギン、ヒゲペンギン、ジェンツーペンギンの3種のペンギン。
 ● 嘴の長さ、高さ、翼の長さ、体重、性別、血液検査の結果などが含まれる。
 アデリー(Adelie)
 ジェンツー(Gentoo)
 ヒゲ(Chinstrap)
 Stan Shebs (CC BY-SA 3.0) 
 Andrew Shiva(CC BY-SA 4.0)
 Stan Shebs (CC BY-SA 3.0) 


Slide 11

Slide 11 text

アデリーペンギン Wikipediaより引用 
 ● くちばしの根元から先端近くまで羽毛でおおわ れているのも特徴で、くちばしが短いように見え るが、口を開けると目の前まで開く。これは南極 の厳しい寒さに適応した結果羽毛が無い部分が 少なくなったと考えられる。 
 ● また、他のペンギンに比べて尾羽が長いが、こ れはヒゲペンギン、ジェンツーペンギンにも共通 する特徴である。ペンギンの分類ではこの3種類 をまとめてアデリーペンギン属(Pygoscelis属)と して扱う。
 ● Suicaのペンギンのモデル。 
 Jerzy Strzelecki(CC BY 3.0)

Slide 12

Slide 12 text

ヒゲペンギン Wikipediaより引用
 ● 目の後ろから喉を通る黒い帯模様が あるのが特徴である。和名の「ヒゲペ ンギン」は喉を通る帯模様をあごひげ に見立てたものである。また、英名 の"Chinstrap"は帽子やヘルメットの あごひものことで、これもやはり喉を 通る帯模様に由来している。
 引用元

Slide 13

Slide 13 text

ジェンツーペンギン Wikipediaより引用
 ● 両目をつなぐ白い帯模様が特徴であ る。
 ● 大きさはペンギン18種類のうち、コウ テイペンギン、キングペンギンに次い で3番目に大きい。また、オスの方がメ スよりわずかに大きい。更に、ペンギ ンで最も泳ぐのが速いペンギンでもあ る。最高時速は時速35kmにも達す る。
 Ben Tubby(CC BY 2.0)

Slide 14

Slide 14 text

2つのデータセット penguins_raw 生のデータ
 ● 17変数
 ● studyName: 研究名(越冬隊ごと?) 
 ● Sample Number: 標本番号(連番) 
 ● Species: ペンギンの種(学名付き) 
 ● Region: 調査した地域 
 ● Island: 調査した島 
 ● Stage: 発育段階 
 ● Individual ID: 個体ID 
 ● Clutch Completion: 巣の完成度 
 ● Date Egg: 巣に1個以上の卵が確認された日? 
 ● Culmen Length (mm): くちばしの長さ 
 ● Culmen Depth (mm): くちばしの高さ 
 ● Flipper Length (mm): 翼の長さ 
 ● Body Mass (g): 体重 
 ● Sex: 性別
 ● Delta 15 N (o/oo): 窒素同位体比(δ15N) 
 ● Delta 13 C (o/oo): 炭素同位体比(δ13C) 
 ● Comments: コメント 
 penguins 使いやすく加工されたデータ 
 ● 8変数
 ● species: ペンギンの種 
 ● island: 調査した島 
 ● bill_length_mm: くちばしの長さ 
 ● bill_depth_mm: くちばしの高さ 
 ● flipper_length_mm: 翼の長さ 
 ● body_mass_g: 体重 
 ● sex: 性別
 ● year: 調査した年 
 Artwork by @allison_horst

Slide 15

Slide 15 text

とりあえず生データを確認 library(palmerpenguins) penguins_raw |> head(10) |> View()

Slide 16

Slide 16 text

サマリーを確認 library(summarytools) penguins_raw |> dfSummary() |> view() ● 欠測値(NA)がある。
 ● 値がすべて同じ列がある。
 ● 同じ個体IDが3回出現している。


Slide 17

Slide 17 text

変数間の関係の概要 penguins_raw |> dplyr::select( #余分な変数を除外 !c( `Sample Number`, Region, Stage, `Individual ID`, Comments ) ) |> GGally::ggpairs( aes(colour = Species), title = "Palmer Penguins Raw" )

Slide 18

Slide 18 text

変数間の関係の概要 penguins_raw |> dplyr::select( #余分な変数を除外 !c( `Sample Number`, Region, Stage, `Individual ID`, Comments ) ) |> GGally::ggpairs( aes(colour = Species), title = "Palmer Penguins Raw" ) Date Egg x studyName と Species x Island が気になる。

Slide 19

Slide 19 text

研究名ごとの期間 penguins_raw |> group_by(studyName) |> summarise(Start = min(`Date Egg`), End = max(`Date Egg`)) # studyName Start End # #1 PAL0708 2007-11-09 2007-12-03 #2 PAL0809 2008-11-02 2008-11-25 #3 PAL0910 2009-11-09 2009-12-01

Slide 20

Slide 20 text

調査した島と生息するペンギンの種 penguins_raw |> xtabs(~ Species + Island, data = _) # Island #Species Biscoe Dream Torgersen # Adelie Penguin (Pygoscelis adeliae) 44 56 52 # Chinstrap penguin (Pygoscelis antarctica) 0 68 0 # Gentoo penguin (Pygoscelis papua) 124 0 0

Slide 21

Slide 21 text

「オスの方がメスよりわずかに大きい」? penguins_raw |> drop_na(Sex) |> ggplot(aes(x = Sex, y = `Body Mass (g)`)) + geom_violin(aes(colour=Sex, fill = Sex)) + geom_boxplot(width = 0.3) + geom_jitter(width = 0.15, height = 0) + facet_wrap(vars(Species)) + labs( title = "性別と体重", x = "性別", y = "体重 (g)", colour = "性別", fill = "性別" ) + theme(text = element_text(size = 18))

Slide 22

Slide 22 text

to be continued... 今後の予定: 1. データセットの紹介(今回) 2. データクリーニング ○ penguins_rawからpenguinsへ 3. 可視化例 4. 分析例 ○ シンプソンのパラドクス ○ 次元縮約 ○ クラスタリング ○ 判別モデル ○ などなど いらすとやにはアデリーペン ギンがいなかった…… タイトルの「パーマーステーションのペ ンギンたち」は『ウォーターシップダウ ンのウサギたち』をもじったつもり。