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

TokyoR#107_R_GeoData

 TokyoR#107_R_GeoData

第107回Tokyo.Rでトークした際の資料です。

kilometer

July 15, 2023
Tweet

More Decks by kilometer

Other Decks in Programming

Transcript

  1. #107
    @kilometer00
    2023.03.15
    BeginneR Session
    R & Geostatistics

    View Slide

  2. Who!?
    Who?

    View Slide

  3. Who!?
    名前: 三村 @kilometer
    職業: 特任教員 (こうがくはくし)
    専⾨: ⾏動神経科学(霊⻑類)
    脳イメージング
    医療システム⼯学
    R歴: ~ 10年ぐらい
    近況: 3 & 0歳児, あたらしい職場

    View Slide

  4. 宣伝!!(書籍の翻訳に参加しました。)
    絶賛販売中!
    増刷出来!!

    View Slide

  5. → スライド資料は全てSpeakerDeckで公開しています。
    Tokyo.Rでいっぱい話してきました。

    View Slide

  6. BeginneR Session

    View Slide

  7. BeginneR

    View Slide

  8. Before After
    BeginneR Session
    BeginneR BeginneR

    View Slide

  9. BeginneR Advanced Hoxo_m
    If I have seen further it is by standing on the
    shoulders of Giants.
    -- Sir Isaac Newton, 1676

    View Slide

  10. @kilometer00
    BeginneR Session
    R & Geostatistics

    View Slide

  11. □ Rの基本
    □ Geostatisticsの基本

    View Slide

  12. View Slide

  13. IEEE Spectrum’s Top Programming Languages 2022
    https://spectrum.ieee.org/top-programming-languages-2022

    View Slide

  14. https://spectrum.ieee.org/top-programming-languages-methods

    View Slide

  15. https://spectrum.ieee.org/top-programming-languages-methods

    View Slide

  16. View Slide

  17. TIOBE Index for July 2023
    https://www.tiobe.com/tiobe-index/

    View Slide

  18. https://www.tiobe.com/tiobe-index/

    View Slide

  19. https://twitter.com/hadleywickham/status/1279405379449913344?s=20

    View Slide

  20. https://gist.github.com/daroczig/
    Number of R packages ever published on CRAN

    View Slide

  21. https://cran.r-project.org/web/packages/
    The Comprehensive R Archive Network (CRAN)

    View Slide

  22. h"ps://www.datasciencemeta.com/rpackages

    View Slide

  23. ① 興味を持つ
    ③ 周りを⾒渡す。
    ④ 隣⼈がみつかる。
    ② 始めてみる。
    ⑤ 隣の芝が⻘く⾒える。
    ⑥ 始めてみる。
    無駄にはならない
    (賢く⽴ち回ろうとして、外から恐る恐る⾒てるより、⼿を動かして始めてみよう)
    ⼈⽣は有限で⻘春は瞬きかもしれないけど、⼤丈夫。
    プログラミング⾔語の2つや3つを学ぶ時間ぐらいある。

    View Slide

  24. の始め⽅
    1. Rをインストール
    2. RStudioをインストール
    https://www.r-project.org/
    https://posit.co/download/rstudio-desktop/

    View Slide

  25. の始め⽅
    3. RStudioを⽴ち上げる
    4. 新規プロジェクトを作る
    6. tidyverseをインストール
    install.packages(“tidyverse”)
    5. 新規スクリプトを開く
    File -> New Project...
    ⌘ ⇧ N

    View Slide

  26. ① ここにRのコードを書く
    ② 選択して実⾏(⌘↩) ③ 実⾏結果が表⽰
    スクリプト → 名前をつけて保存
    コンソール
    RStudioの操作

    View Slide

  27. ① ここにRのコードを書く
    ② 選択して実⾏(⌘↩) ③ 実⾏結果が表⽰
    スクリプト → 名前をつけて保存
    コンソール
    環境変数などが表⽰
    ファイル/プロット/ヘルプなど
    ⾃動で反映
    RStudioの操作

    View Slide

  28. の始め⽅
    おすすめパッケージ達
    ・ tidyverse (データ科学総合ツール)
    ・ data.table (大きいデータ取り扱うなら)
    ・ cmdstanr (ベイズ統計やるなら)
    ・ patchwork (データ可視化やるなら)
    最初から全部いれる必要はないよ!

    View Slide

  29. の基本

    View Slide

  30. 例えばExcelでは、
    セルの内部に関数を書いて 結果だけを表⽰する

    View Slide

  31. 例えばExcelでは、
    セルの内部に関数を書いて 結果だけを表⽰する
    どこまでが共通の属性なのか
    直感的な配置から読み取る

    View Slide

  32. の基本
    a <- 5
    x <- 1:5
    y <- a * x
    代⼊演算⼦
    オブジェクト
    コード

    View Slide

  33. 選択して実⾏(⌘↩)
    ⾃動で反映
    実⾏内容
    書く

    View Slide

  34. の基本
    Q. オブジェクトの中⾝が⾒たい時はどうするの?
    A. オブジェクト名だけを選択して実⾏します。

    View Slide

  35. 実⾏(⌘↩)

    View Slide

  36. の基本
    Q. オブジェクトの中⾝が⾒たい時はどうするの?
    A. オブジェクト名だけを選択して実⾏します。
    Q. 既にある表データをRに読み込みたいんですが?
    A. read_csv()関数を使います。

    View Slide

  37. の基本
    path <- “data/Book1.csv”
    read_csv(path)

    View Slide

  38. 実⾏(⌘↩)
    エラー:そんな関数ないよ

    View Slide

  39. Don’t worry!!!

    View Slide

  40. の基本 CRAN
    The Comprehensive R Archive Network

    View Slide

  41. install.packages(“tidyverse”)
    の基本
    1. パッケージのインストール
    2. インストールされたパッケージを使う
    library(tidyverse)

    View Slide

  42. 実⾏(⌘↩)
    読み込めたけど...
    コレとコレ
    は省きたい
    (データじゃない)

    View Slide

  43. Don’t worry!!!

    View Slide

  44. の基本
    library(tidyverse)
    path <- “data/Book1.csv”
    read_csv(path)

    View Slide

  45. の基本
    library(tidyverse)
    path <- “data/Book1.csv”
    read_csv(path, skip = 2)

    View Slide

  46. View Slide

  47. いちいちcsvに出⼒するの⾯倒だから
    エクセルファイルのまま読み込みたいなぁ。

    View Slide

  48. Don’t worry!!!

    View Slide

  49. library(tidyverse)
    path <- “data/Book1.xls”
    read_xlsx(path, skip = 2)
    の基本

    View Slide

  50. エラー:そんな関数ないよ

    View Slide

  51. Don’t worry!!!

    View Slide

  52. library(tidyverse)
    library(readxl)
    path <- “data/Book1.xls”
    read_xlsx(path, skip = 2)
    の基本

    View Slide

  53. そんな名前のファイル無いよ

    View Slide

  54. 無いことないだろ!!!??
    さっき作ったばっかりだぞ!!

    View Slide

  55. 無いことないだろ!!!??
    さっき作ったばっかりだぞ!!
    ほら!!!!!!

    View Slide

  56. 無いことないだろ!!!??
    さっき作ったばっかりだぞ!!
    ほら!!!!!!
    😇
    ほら...ぁ...

    View Slide

  57. library(tidyverse)
    library(readxl)
    path <- “data/Book1.xlsx”
    read_xlsx(path, skip = 2)
    の基本

    View Slide

  58. 😇
    できた

    View Slide

  59. プログラムは思った通りには動かない。
    書いた通りに動くのだ。
    誰が⾔ったか知らないが、

    View Slide

  60. 表データの加⼯と可視化の概観
    Long
    Wide
    Nested
    plot
    Figures
    Data table
    read_csv write_csv
    pivot_longer
    pivot_wider
    group_nest
    unnest
    ggplot
    ggsave
    wrap_plots
    map

    View Slide

  61. □ Rの基本
    □ Geostatisticsの基本

    View Slide

  62. データ視覚化の⼈類史
    グラフの発明から時間と空間の可視化まで
    Michael Friendly
    Howrad Wainer
    飯嶋貴⼦ (訳)
    ⻘⼟社, 2021

    View Slide

  63. データ視覚化の⼈類史
    グラフの発明から時間と空間の可視化まで
    Michael Friendly
    Howrad Wainer
    飯嶋貴⼦ (訳)
    ⻘⼟社, 2021
    何かを理解しようとするならば、
    その始まりと推移を観察しなさい
    -- アリストテレス『形⽽上学』
    本書 p.21

    View Slide

  64. 主題図 Thematic map
    テーマに対して、必要な主題データを利⽤して分析した結果や、
    複数の主題データを重ね合せて表現した地図
    h"ps://www.esrij.com/gis-guide/maps/thema6c-map/
    h"ps://www.ny6mes.com/interac6ve/2016/06/24/world/europe/how-britain-voted-brexit-referendum.html

    View Slide

  65. 最初の主題図「新ヨーロッパ地図」
    アウグスト・クローム (独)
    ⽇本最初の主題地図帳
    「⼤⽇本帝国地産要覧図」
    最古の世界図
    バビロニアの粘⼟版
    B.C.700頃 1782 1889
    1650頃
    近代的な「データ」の概念の確⽴
    ジョン・グラント(英)
    ウィリアム・ペティ(英)
    1829
    最初の影付き⽐較地図
    「教育状況と犯罪数の⽐較統計」
    アンドレ=ミシェル・ゲリー(仏)
    アントニオ・バルビ(仏)
    「回帰」概念の確⽴
    フランシス・ゴルトン(英)
    1886
    「散布図」概念の誕⽣
    ウィリアム・ハーシェル(英)
    1833

    View Slide

  66. 最初の主題図「新ヨーロッパ地図」
    アウグスト・クローム (独)
    ⽇本最初の主題地図帳
    「⼤⽇本帝国地産要覧図」
    最古の世界図
    バビロニアの粘⼟版
    B.C.700頃 1782 1889
    1650頃
    近代的な「データ」の概念の確⽴
    ジョン・グラント(英)
    ウィリアム・ペティ(英)
    1829
    最初の影付き⽐較地図
    「教育状況と犯罪数の⽐較統計」
    アンドレ=ミシェル・ゲリー(仏)
    アントニオ・バルビ(仏)
    「回帰」概念の確⽴
    フランシス・ゴルトン(英)
    1886
    「散布図」概念の誕⽣
    ウィリアム・ハーシェル(英)
    1833
    1482
    「形状の緯度について」
    ニコラス・オレーム(仏)

    View Slide

  67. 「形状の緯度について」ニコラス・オレーム(仏) 1482
    “緯度”
    “経度”
    物理量の関数関係の可視化法
    Wikipedia-en

    View Slide

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

    View Slide

  69. ࣮ଘ
    ࣸ૾ʢ؍࡯ʣ
    σʔλ
    ࣸ૾ʢσʔλՄࢹԽʣ
    άϥϑ
    𝑋
    𝑌
    𝑦!
    𝑥!
    𝑦"
    𝑥"
    𝑋 𝑌
    𝑥!
    𝑥"
    𝑦!
    𝑦"
    EBUB
    mapping
    σʔλՄࢹԽ

    View Slide

  70. 写像 (mapping)
    𝑓: 𝑋 → 𝑌
    𝑋 𝑌
    ある情報の集合の要素を、別の情報の集合の
    ただ1つの要素に対応づけるプロセス

    View Slide

  71. 「ナポレオンの⾏進」シャルル・ジョセフ・ミナール, 1812
    -- これは、かつて作成された統計グラフィックのなかで最良のものと⾔えるだろう
    by エドワード・タフテ, 1983
    ・地理情報(経度, 緯度)・軍の規模 ・軍の移動⽅向 ・気温

    View Slide

  72. □ Rの基本
    □ Geostatisticsの基本


    View Slide

  73. Enjoy!!

    View Slide