Upgrade to Pro — share decks privately, control downloads, hide ads and more …

統計関連学会連合大会チュートリアル資料

8284465a94bbdf1ea82cf1a67d55f447?s=47 kilometer
September 05, 2021
2.3k

 統計関連学会連合大会チュートリアル資料

統計関連学会連合大会のチュートリアルセッションで話した際のスライド資料です。

https://confit.atlas.jp/guide/event/jfssa2021/session/1A01-03/tables?pEtzTuuUqj

8284465a94bbdf1ea82cf1a67d55f447?s=128

kilometer

September 05, 2021
Tweet

Transcript

  1. 3ʹΑΔσʔλղੳͷͨΊͷσʔλՄࢹԽ ࡾଜ ڤੜ ߐޱ ఩࢙ ӝੜ ਅ໵ ౷ܭؔ࿈ֶձ࿈߹େձνϡʔτϦΞϧ 2021.09.05 (online)

    1: 量⼦科学技術研究開発機構 脳機能イメージング研究部 2: 千葉⼤学 予防医学センター 3: 国⽴環境研究所 ⽣物多様性領域
  2. ʲ࣮ફ%BUB4DJFODFγϦʔζʳߨஊࣾ σʔλ෼ੳͷͨΊͷσʔλՄࢹԽೖ໳ ΩʔϥϯɾώʔϦʔ ஶ ӝੜਅ໵ ߐޱ఩࢙ ࡾଜڤੜ ༁

  3. 第1部 Rとggplot2によるデータ可視化⼊⾨ 三村 喬⽣, 量⼦科学技術研究開発機構 3ʹΑΔσʔλղੳͷͨΊͷσʔλՄࢹԽ 第2部 データの加⼯・集計と統計モデルのデータ可視化 江⼝ 哲史,

    千葉⼤学 第3部 地図を描画する ⽠⽣ 真也, 国⽴環境研究所
  4. 3とHHQMPUによるデータ可視化入門 ࡾଜ ڤੜ .JNVSB ,PLJ ࠃཱݚڀ։ൃ๏ਓ ྔࢠՊֶٕज़ݚڀ։ൃػߏ 245 ೴ػೳΠϝʔδϯάݚڀ෦ ݚڀһ

    ୈ෦ 3ʹΑΔσʔλղੳͷͨΊͷσʔλՄࢹԽ
  5. 1. データとは 2. データ可視化事始め 3. 素晴らしい図 4. 図の装飾の明暗 5. グラフの種類

    6. 視覚の認識 7. ゲシュタルトの法則 8. R事始め 9. RStudioの使い⽅ 10. R Markdownの使い⽅ 11. 初めてのggplot2 12. グラフの調整 13. 少し複雑な作図 3とHHQMPUによるデータ可視化入門
  6. σʔλ 情報のうち意思伝達・解釈・処理に 適した再利⽤可能なもの 国際電気標準会議(International Electrotechnical Commission, IEC)による定義

  7. σʔλ 情報のうち意思伝達・解釈・処理に 適した再利⽤可能なもの ৘ใ 実存を符号化した表象

  8. σʔλ ৘ใͷ͏ͪҙࢥ఻ୡɾղऍɾॲཧʹ దͨ͠࠶ར༻Մೳͳ΋ͷ ৘ใ ࣮ଘΛූ߸Խͨ͠ද৅ ࣮ଘ ؍࡯ͷ༗ແʹΑΒͣଘࡏ͍ͯ͠Δ ΋ͷͦͷ΋ͷ ࣸ૾ʢූ߸Խʣ

  9. ࣸ૾ Ϧϯΰ ʢ࣮ଘʣ Ϧϯΰ ʢ৘ใʣ mapping

  10. ࣸ૾ (mapping) 𝑓: 𝑋 → 𝑌 𝑋 𝑌 ͋Δ৘ใͷू߹ͷཁૉΛɺผͷ৘ใͷू߹ͷ ͨͩͭͷཁૉʹରԠ͚ͮΔϓϩηε

  11. ৘ใྔ ࣮ଘ ৘ใ σʔλ Ϧϯΰ  ූ߸Խ

  12. ৘ใྔ ࣮ଘ ৘ใ σʔλ Ϧϯΰ  ූ߸Խ ৘ใྔͷଛࣦ

  13. Ϧϯΰ ࣸ૾ ϑϧʔπ ੺৭  ը૾ ࣮ଘ ৘ใ νϟωϧ mapping

    channel
  14. 𝑋 𝑌 𝑦! 𝑥! 𝑦" 𝑥" 𝑋 𝑌 𝑥! 𝑥"

    𝑦! 𝑦" σʔλՄࢹԽ ࣸ૾ mapping
  15. 𝑋 𝑌 𝑦! 𝑥! 𝑦" 𝑥" 𝑋 𝑌 𝑥! 𝑥"

    𝑦! 𝑦" σʔλՄࢹԽ ࣸ૾ mapping x axis, y axis, color, fill, shape, linetype, alpha… aesthetic channels ৹ඒతνϟωϧ
  16. Mimura et al., iScience, 2021

  17. Mimura et al., iScience, 2021 ೴ͷย൒ٿ͚ͩҰ࣌తʹυʔύϛϯ์ग़Λߋ৽͢Δ શ਎ӡಈ΁ͷӨڹΛධՁ

  18. Mimura et al., iScience, 2021 ༀ෺౤༩෼ޙ ഒ଎ϏσΦ

  19. ϞʔγϣϯτϥοΩϯά sec part x y z 0.0 頭 0.0 胴

    0.0 腰 0.1 頭 0.1 胴 0.1 腰 0.2 頭 ... શ਎ӡಈ σʔλ Mimura et al., iScience, 2021 cf: 3dtrack.org
  20. sec part x y z 0.0 頭 0.0 胴 0.0

    腰 0.1 頭 0.1 胴 0.1 腰 0.2 頭 ... ݱ৅ σʔλ άϥϑ 100時間×3600秒× 30フレーム × 3部位× 3次元 = 97,200,000⾏ 偏向回転運動 τϥοΩϯά σʔλՄࢹԽ Mimura et al., iScience, 2021
  21. Mimura et al., iScience, 2021 Distance from center (cm) ᶃ

    ಄ͷيಓ YZฏ໘
  22. Mimura et al., iScience, 2021 ᶄ ඵޙͷ࠲ඪ Head Hip

  23. Mimura et al., iScience, 2021 ᶅ ճస଎౓ͷੵࢉ

  24. sec part x y z 0.0 頭 0.0 胴 0.0

    腰 0.1 頭 0.1 胴 0.1 腰 0.2 頭 ... ݱ৅ σʔλ άϥϑ 100時間×3600秒× 30フレーム × 3部位× 3次元 = 97,200,000⾏ 偏向回転運動 τϥοΩϯά σʔλՄࢹԽ Mimura et al., iScience, 2021
  25. ࣮ଘ σʔλ άϥϑ άϥϑ ؍࡯ σʔλ ՄࢹԽ σʔλ ՄࢹԽ ࣸ૾

    ࣸ૾
  26. lφϙϨΦϯͷϩγΞ৵߈zCZ.JOBSE $+  ૉ੖Β͍͠ਤ ※ 要旨に「標⾼」と書いてしましたが正しくは「復路の気温」です。

  27. ਤͷ૷০ͷ໌҉ lո෺తͳܦඅzCZ)PMNFT /  νϟʔτɾδϟϯΫʹҲΕͨਤ )FBMZ ,  ɾ૷০తཁૉ͕ඞͣѱͱ͍͏Θ͚Ͱ͸ͳ͍ɻ ɾ͔͠͠ಡΈखʹෛ୲ͱͳΔ૷০

    ༨ܭͳ࣍ݩͷ௥ՃͳͲ ͸ආ͚·͠ΐ͏ɻ
  28. άϥϑͷछྨ ΠΪϦεͷ&6཭୤ Brexit ʹؔ͢Δࠃຽ౤ථ 2016年 ref. “UK: A Divided Nation”,

    by Armstrong, M., 2016, https://www.statista.com/chart/5100/uk-chooses-brexit/
  29. άϥϑͷछྨ ԁάϥϑ ੵΈ্͛๮άϥϑ ԣ ๮άϥϑ ॎ ΠΪϦεͷ&6཭୤ Brexit ʹؔ͢Δࠃຽ౤ථ 2016年

    ࢒ཹ  WT཭୤  ˞౤ථ཰ɿ
  30. άϥϑͷछྨ ԁάϥϑ ੵΈ্͛๮άϥϑ ԣ ๮άϥϑ ॎ ܥྻ͕ͭ૿͚͑ͨͩͳͷʹղऍ͕೉͘͠ͳΔ

  31. ࢹ֮ͷೝࣝ $IFDLFSTIBEPX *MMVTJPO "EFMTPO &)  ref. http://persci.mit.edu/gallery/checkershadow

  32. ࢹ֮ͷೝࣝ ref. http://persci.mit.edu/gallery/checkershadow ͜ͷลΓͰΑ͏΍͘ʮಉ͡৭ʯʹݟ͑ͯ͘Δ ☝

  33. ࢹ֮ͷೝࣝ ref. http://persci.mit.edu/gallery/checkershadow ͜ͷลΓͰΑ͏΍͘ʮಉ͡৭ʯʹݟ͑ͯ͘Δ ☝ ೴͸֎ք͔Βͷޫ৴߸Λͦͷ··ೝ͍ࣝͯ͠ΔΘ͚Ͱ͸ͳ͘ɺਆܦճ࿏ͷ఻ୡ աఔͰύλʔϯ΍ܦݧͳͲʹج͍ͮͯम০͞Εͨ৘ใΛೝࣝ͢Δɻ σʔλՄࢹԽʹ͓͍ͯ΋͜ΕΒͷ஌֮తಛੑΛे෼ʹߟྀ͢Δ͜ͱͰɺ ޡղ͞ΕΔ͢ΔϦεΫΛԼ͛Δ͜ͱ͕Ͱ͖Δɻ

  34. ήγϡλϧτͷ๏ଇ )FBMZ , 

  35. લ൒ͷ·ͱΊ

  36. σʔλ ৘ใͷ͏ͪҙࢥ఻ୡɾղऍɾॲཧʹ దͨ͠࠶ར༻Մೳͳ΋ͷ ৘ใ ࣮ଘΛූ߸Խͨ͠ද৅ ࣮ଘ ؍࡯ͷ༗ແʹΑΒͣଘࡏ͍ͯ͠Δ ΋ͷͦͷ΋ͷ ࣸ૾ʢූ߸Խʣ σʔλ͸ࣸ૾

  37. 𝑋 𝑌 𝑦! 𝑥! 𝑦" 𝑥" 𝑋 𝑌 𝑥! 𝑥"

    𝑦! 𝑦" ࣸ૾ mapping σʔλՄࢹԽ΋ࣸ૾
  38. ࣮ଘ ࣸ૾ʢ؍࡯ʣ σʔλՄࢹԽ σʔλ ࣸ૾ʢσʔλՄࢹԽʣ άϥϑ ΋ͷͦͷ΋ͷ ڞ༗Մೳͳූ߸ ࢹ֮త৹ඒతදݱ

  39. Ϧϯΰ ࣸ૾ ϑϧʔπ ੺৭  ը૾ ࣮ଘ ৘ใ νϟωϧ mapping

    channel ࣸ૾ͱνϟωϧ
  40. 𝑋 𝑌 𝑦! 𝑥! 𝑦" 𝑥" 𝑋 𝑌 𝑥! 𝑥"

    𝑦! 𝑦" x axis, y axis, color, fill, shape, linetype, alpha… aesthetic channels ࣸ૾ mapping σʔλՄࢹԽʹ͓͚Δࣸ૾ͱνϟωϧ ৹ඒతνϟωϧ
  41. 𝑋 𝑌 𝑦! 𝑥! 𝑦" 𝑥" 𝑋 𝑌 𝑥! 𝑥"

    𝑦! 𝑦" x axis, y axis, color, fill, shape, linetype, alpha… aesthetic channels ࣸ૾ mapping ৹ඒతνϟωϧ ggplot(data = my_data) + aes(x = X, y = Y)) + goem_point() HHQMPUʹΑΔ࡞ਤ ʢޙ൒ͷ಺༰ʣ
  42. 3Λ࢝ΊΑ͏ ɾແྉ ɾ جຊతͳ؀ڥͷ ಋೖίετ͕௿͍ ɾσʔλαΠΤϯεʹඞཁͳػೳ͕ॆ࣮ ɾ֦ுػೳ ύοέʔδ ͕๛෋ ɾίϛϡχςΟ͕ڧ͍

    ˡ͜Ε͸ϙδγϣϯɾτʔΫͰ͢
  43. 3Λ࢝ΊΑ͏ ɾແྉ ɾ جຊతͳ؀ڥͷ ಋೖίετ͕௿͍ ɾσʔλαΠΤϯεʹඞཁͳػೳ͕ॆ࣮ ɾ֦ுػೳ ύοέʔδ ͕๛෋ ɾίϛϡχςΟ͕ڧ͍

    ˡ͜Ε͸ϙδγϣϯɾτʔΫͰ͢ hEps://tokyor.connpass.com/
  44. 3Λ࢝ΊΑ͏ ɾແྉ ɾ جຊతͳ؀ڥͷ ಋೖίετ͕௿͍ ɾσʔλαΠΤϯεʹඞཁͳػೳ͕ॆ࣮ ɾ֦ுػೳ ύοέʔδ ͕๛෋ ɾίϛϡχςΟ͕ڧ͍

    ˡ͜Ε͸ϙδγϣϯɾτʔΫͰ͢
  45. 3Λ࢝ΊΑ͏ ɾແྉ ɾ جຊతͳ؀ڥͷ ಋೖίετ͕௿͍ ɾσʔλαΠΤϯεʹඞཁͳػೳ͕ॆ࣮ ɾ֦ுػೳ ύοέʔδ ͕๛෋ ɾίϛϡχςΟ͕ڧ͍

    ˡ͜Ε͸ϙδγϣϯɾτʔΫͰ͢ SXBLBMBOH TMBDLXPSLTQBDF .FNCFSਓ
  46. 3Λ࢝ΊΑ͏ 【⼿順】 1. Rをインストール 2. Rstudioをインストール https://www.r-project.org/ https://www.rstudio.com/

  47. 3ΛΠϯετʔϧ ☝

  48. 34UVEJPΛΠϯετʔϧ ౷߹։ൃ؀ڥ JOUFHSBUFEEFWFMPQNFOUFOWJSPONFOU *%& ☝

  49. 34UVEJPΛΠϯετʔϧ ౷߹։ൃ؀ڥ JOUFHSBUFEEFWFMPQNFOUFOWJSPONFOU *%& ☝

  50. 3TUVEJPͷجຊͷΩ εΫϦϓτ ίϯιʔϧ ؀ڥͳͲ ͦͷଞɿϓϩοτͳͲ 1 ここに書いて 2 選択して 3

    実⾏(⌘ + ↩) 実⾏結果が表⽰される
  51. 3TUVEJPͷجຊͷΩ

  52. 3TUVEJPͷجຊͷΩ

  53. 3TUVEJPͷجຊͷΩ x <- 1 y <- 2 x + y

    > x + y [1] 3 εΫϦϓτʹॻ͘಺༰ ίϯιʔϧͷग़ྗ
  54. 3TUVEJPͷجຊͷΩ x <- 1 y <- 2 x <- 2

    > x + y [1] 4 εΫϦϓτʹॻ͘಺༰ ίϯιʔϧͷग़ྗ ಉ͡ม਺໊ʹ୅ೖ͢Δͱ্ॻ͖͞ΕΔ ίϝϯτΞ΢τه߸
  55. ύοέʔδ $3"/ 5IF$PNQSFIFOTJWF3"SDIJWF/FUXPSL 3։ൃνʔϜ͕؅ཧ͢ΔύοέʔδϦϙδτϦ hEps://cran.r-project.org/ 2021.09.04

  56. ύοέʔδ $3"/ 5IF$PNQSFIFOTJWF3"SDIJWF/FUXPSL 3։ൃνʔϜ͕؅ཧ͢ΔύοέʔδϦϙδτϦ https://cran.r-project.org/ install.packages(pkgs = "tidyverse") 'dyverse: データサイエンス関連パッケージ群をまとめたパッケージ

    ・dplyr: テーブルデータの加⼯・集計 ・ggplot2: グラフの描画 ・stringr: ⽂字列加⼯ ・'dyr: データの整形や変形 ・purrrr: 関数型プログラミング⽤ ・magri5r: パイプ演算⼦%>%を提供 $3"/͔ΒύοέʔδΛΠϯετʔϧ ☝
  57. ύοέʔδ $3"/ 5IF$PNQSFIFOTJWF3"SDIJWF/FUXPSL 3։ൃνʔϜ͕؅ཧ͢ΔύοέʔδϦϙδτϦ https://cran.r-project.org/ install.packages(pkgs = "tidyverse") $3"/͔ΒύοέʔδΛΠϯετʔϧ library(package

    = "tidyverse") library(tidyverse) # こう書いても良い ݱࡏͷ؀ڥͰύοέʔδΛ༗ޮԽ
  58. 3ͰςʔϒϧσʔλΛѻ͏ ࣮ଘ ࣸ૾ʢ؍࡯ʣ σʔλ ࣸ૾ʢσʔλՄࢹԽʣ άϥϑ sec part x y

    z 0.0 頭 0.0 胴 0.0 腰 0.1 頭 0.1 胴 0.1 腰 0.2 頭 ... ม਺ variable ؍࡯ observation ଌఆ͞Εͨม਺ಉ͕࢜ɺ ؍࡯ʹΑΓඥ͚ͮΒΕͨςʔϒϧ data.frame
  59. EBUBGSBNFΛ࡞Δ my_data <- data.frame(tag = c("a", "b", "c"), x =

    c(1, 2, 3), y = c(4, 7, 9)) > my_data tag x y 1 a 1 4 2 b 2 7 3 c 3 9 ؔ਺ ม਺໊ ΦϒδΣΫτ໊ ୅ೖԋࢉࢠ ϕΫτϧ จࣈܕ ਺஋ܕ
  60. نଇతͳϕΫτϧΛ࡞Δ c(1, 2, 3) c(1:3) seq(from = 1, to =

    3, by = 1) [1] 1 2 3 rep(x = c(1:2), times = 3) [1] 1 2 1 2 1 2 ౳ࠩϕΫτϧ ܁Γฦ͠ϕΫτϧ rep(x = c(1:2), each = 3) [1] 1 1 1 2 2 2
  61. EBUBGSBNFͷಡΈॻ͖ 📁 📁 ࡞ۀϑΥϧμ script.R data.csv (working directory) data 📁fig

    # 現在のwdを確認 getwd() # wdを指定 setwd("directorypath") # フォルダを作成 dir.create("data") my_data <- read.csv(file = "data/data.csv") write.csv(x = my_data file = "data/data.csv") ಡΈࠐΈ ॻ͖ग़͠
  62. ४උͷ֬ೝ  3ΛΠϯετʔϧ  3TUVEJPΛΠϯετʔϧ  UJEZWFSTFΛΠϯετʔϧ  EBUBGSBNFΛ࡞੒ PSಡΈࠐΈ

  63. 3ͰςʔϒϧσʔλΛѻ͏ ࣮ଘ ࣸ૾ʢ؍࡯ʣ σʔλ ࣸ૾ʢσʔλՄࢹԽʣ άϥϑ 𝑋 𝑌 𝑦! 𝑥!

    𝑦" 𝑥" 𝑋 𝑌 𝑥! 𝑥" 𝑦! 𝑦" EBUB mapping aesthetic channels ৹ඒతνϟωϧ
  64. ॳΊͯͷHHQMPU library(tidyverse) dat <- data.frame(tag = rep(c("a", "b"), each =

    2), X = c(1, 3, 5, 7), Y = c(3, 9, 4, 2)) ggplot() + geom_point(data = dat, mapping = aes(x = X, y = Y))
  65. ॳΊͯͷHHQMPU

  66. ॳΊͯͷHHQMPU library(tidyverse) dat <- data.frame(tag = rep(c("a", "b"), each =

    2), X = c(1, 3, 5, 7), Y = c(3, 9, 4, 2)) ggplot() + geom_point(data = dat, mapping = aes(x = X, y = Y)) EBUBGSBNFͷࢦఆ BFT ؔ਺ͷதͰ৹ඒతཁૉͱͯ͠ม਺ͱνϟωϧͷରԠΛࢦఆ ඳը։࢝Λએݴ ه߸Ͱͭͳ͙ BFT ؔ਺ͷҾ਺໊ EBUͷม਺໊ άϥϑͷछྨʹ߹ΘͤͨHFPN@ ؔ਺Λ࢖༻
  67. library(tidyverse) dat <- data.frame(tag = rep(c("a", "b"), each = 2),

    X = c(1, 3, 5, 7), Y = c(3, 9, 4, 2)) ggplot() + geom_point(data = dat, mapping = aes(x = X, y = Y)) + geom_path(data = dat, mapping = aes(x = X, y = Y)) ॳΊ͔ͯΒ൪໨ͷHHQMPU
  68. ॳΊ͔ͯΒ൪໨ͷHHQMPU

  69. HHQMPUίʔυͷॻ͖ํͷ৭ʑ ggplot() + geom_point(data = dat, mapping = aes(x =

    X, y = Y)) + geom_path(data = dat, mapping = aes(x = X, y = Y)) ggplot(data = dat, mapping = aes(x = X, y = Y)) + geom_point() + geom_path() ggplot(data = dat) + aes(x = X, y = Y) + geom_point() + geom_path() ڞ௨ͷࢦఆΛHHQMPU ؔ਺ͷதͰߦ͍ɺҎԼলུ͢Δ͜ͱ͕Մೳ NBQQJOHͷ৘ใ͕ॻ͔ΕͨBFT ؔ਺ΛHHQMPU ؔ਺ͷ֎ʹஔ͘͜ͱ΋Ͱ͖Δ
  70. HHQMPUίʔυͷॻ͖ํͷ৭ʑ ggplot() + geom_point(data = dat, mapping = aes(x =

    X, y = Y, color = tag)) + geom_path(data = dat, mapping = aes(x = X, y = Y)) ggplot(data = dat) + aes(x = X, y = Y) + # 括り出すのは共通するものだけ geom_point(mapping = aes(color = tag)) + geom_path() ϙΠϯτͷ৭ͷNBQQJOHΛࢦఆ
  71. HHQMPUίʔυͷॻ͖ํͷ৭ʑ ggplot(data = dat) + aes(x = X, y =

    Y) + geom_point(aes(color = tag)) + geom_path() ggplot(data = dat) + aes(x = X, y = Y) + geom_path() + geom_point(aes(color = tag)) ͋ͱ͔Β ͰॏͶͨཁૉ͕લ໘ʹඳը͞ΕΔ
  72. library(tidyverse) dat <- data.frame(tag = rep(c("a", "b"), each = 2),

    X = c(1, 3, 5, 7), Y = c(3, 9, 4, 2)) g <- ggplot(data = dat) + aes(x = X, y = Y) + geom_path() + geom_point(mapping = aes(color = tag)) HHQMPUը૾ͷอଘ ggsave(filename = "fig/demo01.png", plot = g, width = 4, height = 3, dpi = 150)
  73. library(tidyverse) dat <- data.frame(tag = rep(c("a", "b"), each = 2),

    X = c(1, 3, 5, 7), Y = c(3, 9, 4, 2)) g <- ggplot(data = dat) + aes(x = X, y = Y) + geom_path() + geom_point(mapping = aes(color = tag)) HHQMPUը૾ͷอଘ ggsave(filename = "fig/demo01.png", plot = g, width = 4, height = 3, dpi = 150) αΠζ͸σϑΥϧτͰ͸Πϯν୯ҐͰࢦఆ
  74. library(tidyverse) dat <- data.frame(tag = rep(c("a", "b"), each = 2),

    X = c(1, 3, 5, 7), Y = c(3, 9, 4, 2)) g <- ggplot(data = dat) + aes(x = X, y = Y) + geom_path() + geom_point(mapping = aes(color = tag)) HHQMPUը૾ͷอଘ ggsave(filename = "fig/demo01.png", plot = g, width = 10, height = 7.5, dpi = 150, units = "cm") # "cm", "mm", "in"を指定可能
  75. HFNP@ ؔ਺܈ DGIUUQTXXXSTUVEJPDPNSFTPVSDFTDIFBUTIFFUT

  76. ෳ਺ͷܥྻΛඳը͢Δ > head(anscombe) x1 x2 x3 x4 y1 y2 y3

    y4 1 10 10 10 8 8.04 9.14 7.46 6.58 2 8 8 8 8 6.95 8.14 6.77 5.76 3 13 13 13 8 7.58 8.74 12.74 7.71 4 9 9 9 8 8.81 8.77 7.11 8.84 5 11 11 11 8 8.33 9.26 7.81 8.47 6 14 14 14 8 9.96 8.10 8.84 7.04 ggplot(data = anscombe) + geom_point(aes(x = x1, y = y1)) + geom_point(aes(x = x2, y = y2), color = "Red") + geom_point(aes(x = x3, y = y3), color = "Blue") + geom_point(aes(x = x4, y = y4), color = "Green") ͜Ε·Ͱͷ஌ࣝͰؤுΔͱ͜͏ͳΔ
  77. HHQMPUʹΑΔσʔλՄࢹԽ ࣮ଘ ࣸ૾ʢ؍࡯ʣ σʔλ ࣸ૾ʢσʔλՄࢹԽʣ άϥϑ 𝑋 𝑌 𝑦! 𝑥!

    𝑦" 𝑥" SBXEBUB 写像 aesthetic channels ৹ඒతνϟωϧ ՄࢹԽʹదͨ͠EBUBܗࣜ 変形 ਤͷͭͷ৹ඒతνϟωϧ͕ σʔλͷͭͷม਺ʹରԠ͍ͯ͠Δ
  78. > head(anscombe) x1 x2 x3 x4 y1 y2 y3 y4

    1 10 10 10 8 8.04 9.14 7.46 6.58 2 8 8 8 8 6.95 8.14 6.77 5.76 3 13 13 13 8 7.58 8.74 12.74 7.71 4 9 9 9 8 8.81 8.77 7.11 8.84 5 11 11 11 8 8.33 9.26 7.81 8.47 6 14 14 14 8 9.96 8.10 8.84 7.04 > head(anscombe_long) key x y 1 1 10 8.04 2 2 10 9.14 3 3 10 7.46 4 4 8 6.58 5 1 8 6.95 6 2 8 8.14 ggplot(data = anscombe_long) + aes(x = x, y = y, color = key) + geom_point() ৹ඒతνϟωϧ Y࣠ Z࣠ ৭ ʹରԠ͢Δม਺ʹͳΔΑ͏มܗ ݟ௨͠ྑ͘γϯϓϧʹՄࢹԽͰ͖Δ
  79. > head(anscombe) x1 x2 x3 x4 y1 y2 y3 y4

    1 10 10 10 8 8.04 9.14 7.46 6.58 2 8 8 8 8 6.95 8.14 6.77 5.76 3 13 13 13 8 7.58 8.74 12.74 7.71 4 9 9 9 8 8.81 8.77 7.11 8.84 5 11 11 11 8 8.33 9.26 7.81 8.47 6 14 14 14 8 9.96 8.10 8.84 7.04 > head(anscombe_long) key x y 1 1 10 8.04 2 2 10 9.14 3 3 10 7.46 4 4 8 6.58 5 1 8 6.95 6 2 8 8.14 ৹ඒతνϟωϧ Y࣠ Z࣠ ৭ ʹରԠ͢Δม਺ʹͳΔΑ͏มܗ anscombe_long <- pivot_longer(data = anscombe, cols = everything(), names_to = c(".value", "key"), names_pattern = "(.)(.)") ԣ௕σʔλ ॎ௕σʔλ
  80. ggplot(data = anscombe_long) + aes(x = x, y = y,

    color = key) + geom_point() ggplot(data = anscombe_long) + aes(x = x, y = y, color = key) + geom_point() + facet_wrap(facets = . ~ key, nrow = 1) ਫ४ͰਤΛ෼ׂ͢Δ
  81. ޙ൒ͷ·ͱΊ

  82. 3ͰςʔϒϧσʔλΛѻ͏ ࣮ଘ ࣸ૾ʢ؍࡯ʣ σʔλ ࣸ૾ʢσʔλՄࢹԽʣ άϥϑ sec part x y

    z 0.0 頭 0.0 胴 0.0 腰 0.1 頭 0.1 胴 0.1 腰 0.2 頭 ... ม਺ variable ؍࡯ observation ଌఆ͞Εͨม਺ಉ͕࢜ɺ ؍࡯ʹΑΓඥ͚ͮΒΕͨςʔϒϧ data.frame
  83. EBUBGSBNFΛ࡞Δ my_data <- data.frame(tag = c("a", "b", "c"), x =

    c(1, 2, 3), y = c(4, 7, 9)) > my_data tag x y 1 a 1 4 2 b 2 7 3 c 3 9 ؔ਺ ม਺໊ ΦϒδΣΫτ໊ ୅ೖԋࢉࢠ ϕΫτϧ จࣈܕ ਺஋ܕ
  84. 3ͰςʔϒϧσʔλΛѻ͏ ࣮ଘ ࣸ૾ʢ؍࡯ʣ σʔλ ࣸ૾ʢσʔλՄࢹԽʣ άϥϑ 𝑋 𝑌 𝑦! 𝑥!

    𝑦" 𝑥" 𝑋 𝑌 𝑥! 𝑥" 𝑦! 𝑦" EBUB mapping aesthetic channels ৹ඒతνϟωϧ
  85. library(tidyverse) dat <- data.frame(tag = rep(c("a", "b"), each = 2),

    X = c(1, 3, 5, 7), Y = c(3, 9, 4, 2)) g <- ggplot(data = dat) + aes(x = X, y = Y) + geom_path() + geom_point(mapping = aes(color = tag)) HHQMPUʹΑΔ࡞ਤͷجຊ ggsave(filename = "fig/demo01.png", plot = g, width = 4, height = 3, dpi = 150)
  86. anscombe_long <- pivot_longer(data = dat, cols = everything(), names_to =

    c(".value", "key"), names_pattern = "(.)(.)") library(tidyverse) dat <- anscombe ggplot(data = anscombe_long) + aes(x = x, y = y, color = key) + geom_point() + facet_wrap(facets = . ~ key, nrow = 1) HHQMPUʹΑΔ࡞ਤʢσʔλΛมܗ͢Δʣ
  87. HHQMPUʹΑΔσʔλՄࢹԽ ࣮ଘ ࣸ૾ʢ؍࡯ʣ σʔλ ࣸ૾ʢσʔλՄࢹԽʣ άϥϑ 𝑋 𝑌 𝑦! 𝑥!

    𝑦" 𝑥" SBXEBUB 写像 aesthetic channels ৹ඒతνϟωϧ ՄࢹԽʹదͨ͠EBUBܗࣜ 変形 ਤͷͭͷ৹ඒతνϟωϧ͕ σʔλͷͭͷม਺ʹରԠ͍ͯ͠Δ
  88. Ϧϯΰ ࣸ૾ ϑϧʔπ ੺৭  ը૾ ࣮ଘ ৘ใ νϟωϧ mapping

    channel ࣸ૾ͱνϟωϧ
  89. ࣮ଘ ࣸ૾ʢ؍࡯ʣ σʔλՄࢹԽ σʔλ ࣸ૾ʢσʔλՄࢹԽʣ άϥϑ ΋ͷͦͷ΋ͷ ڞ༗Մೳͳූ߸ ࢹ֮త৹ඒతදݱ

  90. Thank you for your attention!