Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
TokyoR#107_R_GeoData
Search
kilometer
July 15, 2023
Programming
0
430
TokyoR#107_R_GeoData
第107回Tokyo.Rでトークした際の資料です。
kilometer
July 15, 2023
Tweet
Share
More Decks by kilometer
See All by kilometer
TokyoR#111_ANOVA
kilometer
2
880
TokyoR109.pdf
kilometer
1
470
TokyoR#108_NestedDataHandling
kilometer
0
810
SappoRo.R_roundrobin
kilometer
0
150
TokyoR#104_DataProcessing
kilometer
1
700
TokyoR#103_DataProcessing
kilometer
0
900
TokyoR#102_RMarkdown
kilometer
1
650
TokyoR#101_RegressionAnalysis
kilometer
0
400
TokyoR#99_Divergence
kilometer
1
380
Other Decks in Programming
See All in Programming
Devin入門 〜月500ドルから始まるAIチームメイトとの開発生活〜 / Introduction Devin 〜Development With AI Teammates〜
rkaga
6
2.1k
Domain-Driven Design (Tutorial)
hschwentner
13
22k
変化の激しい時代における、こだわりのないエンジニアの強さ
satoshi256kbyte
1
1k
requirements with math
moony
0
460
生産性アップのためのAI個人活用
kunoyasu
0
440
「その気にさせる」エンジニアが 最強のリーダーになる理由
gimupop
3
400
Lambdaの監視、できてますか?Datadogを用いてLambdaを見守ろう
nealle
2
930
RailsでCQRS/ESをやってみたきづき
suzukimar
2
1.3k
ステートソーシング型イベント駆動の視点で捉えるCQRS+ES
shinnosuke0522
0
160
Rails 1.0 のコードで学ぶ find_by* と method_missing の仕組み / Learn how find_by_* and method_missing work in Rails 1.0 code
maimux2x
1
290
技術好きなエンジニアが "リーダーへの進化" によって得たものと失ったもの
pospome
5
1.2k
オレを救った Cline を紹介する
codehex
16
16k
Featured
See All Featured
Navigating Team Friction
lara
183
15k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
420
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.7k
Making the Leap to Tech Lead
cromwellryan
133
9.1k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
49k
How to Think Like a Performance Engineer
csswizardry
22
1.4k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
11
580
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
176
52k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1.1k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
22
2.6k
The Power of CSS Pseudo Elements
geoffreycrofte
76
5.7k
Transcript
#107 @kilometer00 2023.03.15 BeginneR Session R & Geostatistics
Who!? Who?
Who!? 名前: 三村 @kilometer 職業: 特任教員 (こうがくはくし) 専⾨: ⾏動神経科学(霊⻑類) 脳イメージング
医療システム⼯学 R歴: ~ 10年ぐらい 近況: 3 & 0歳児, あたらしい職場
宣伝!!(書籍の翻訳に参加しました。) 絶賛販売中! 増刷出来!!
→ スライド資料は全てSpeakerDeckで公開しています。 Tokyo.Rでいっぱい話してきました。
BeginneR Session
BeginneR
Before After BeginneR Session BeginneR BeginneR
BeginneR Advanced Hoxo_m If I have seen further it is
by standing on the shoulders of Giants. -- Sir Isaac Newton, 1676
@kilometer00 BeginneR Session R & Geostatistics
□ Rの基本 □ Geostatisticsの基本
None
IEEE Spectrum’s Top Programming Languages 2022 https://spectrum.ieee.org/top-programming-languages-2022
https://spectrum.ieee.org/top-programming-languages-methods
https://spectrum.ieee.org/top-programming-languages-methods
None
TIOBE Index for July 2023 https://www.tiobe.com/tiobe-index/
https://www.tiobe.com/tiobe-index/
https://twitter.com/hadleywickham/status/1279405379449913344?s=20
https://gist.github.com/daroczig/ Number of R packages ever published on CRAN
https://cran.r-project.org/web/packages/ The Comprehensive R Archive Network (CRAN)
h"ps://www.datasciencemeta.com/rpackages
① 興味を持つ ③ 周りを⾒渡す。 ④ 隣⼈がみつかる。 ② 始めてみる。 ⑤ 隣の芝が⻘く⾒える。
⑥ 始めてみる。 無駄にはならない (賢く⽴ち回ろうとして、外から恐る恐る⾒てるより、⼿を動かして始めてみよう) ⼈⽣は有限で⻘春は瞬きかもしれないけど、⼤丈夫。 プログラミング⾔語の2つや3つを学ぶ時間ぐらいある。
の始め⽅ 1. Rをインストール 2. RStudioをインストール https://www.r-project.org/ https://posit.co/download/rstudio-desktop/
の始め⽅ 3. RStudioを⽴ち上げる 4. 新規プロジェクトを作る 6. tidyverseをインストール install.packages(“tidyverse”) 5. 新規スクリプトを開く
File -> New Project... ⌘ ⇧ N
① ここにRのコードを書く ② 選択して実⾏(⌘↩) ③ 実⾏結果が表⽰ スクリプト → 名前をつけて保存 コンソール
RStudioの操作
① ここにRのコードを書く ② 選択して実⾏(⌘↩) ③ 実⾏結果が表⽰ スクリプト → 名前をつけて保存 コンソール
環境変数などが表⽰ ファイル/プロット/ヘルプなど ⾃動で反映 RStudioの操作
の始め⽅ おすすめパッケージ達 ・ tidyverse (データ科学総合ツール) ・ data.table (大きいデータ取り扱うなら) ・ cmdstanr
(ベイズ統計やるなら) ・ patchwork (データ可視化やるなら) 最初から全部いれる必要はないよ!
の基本
例えばExcelでは、 セルの内部に関数を書いて 結果だけを表⽰する
例えばExcelでは、 セルの内部に関数を書いて 結果だけを表⽰する どこまでが共通の属性なのか 直感的な配置から読み取る
の基本 a <- 5 x <- 1:5 y <- a
* x 代⼊演算⼦ オブジェクト コード
選択して実⾏(⌘↩) ⾃動で反映 実⾏内容 書く
の基本 Q. オブジェクトの中⾝が⾒たい時はどうするの? A. オブジェクト名だけを選択して実⾏します。
実⾏(⌘↩)
の基本 Q. オブジェクトの中⾝が⾒たい時はどうするの? A. オブジェクト名だけを選択して実⾏します。 Q. 既にある表データをRに読み込みたいんですが? A. read_csv()関数を使います。
の基本 path <- “data/Book1.csv” read_csv(path)
実⾏(⌘↩) エラー:そんな関数ないよ
Don’t worry!!!
の基本 CRAN The Comprehensive R Archive Network
install.packages(“tidyverse”) の基本 1. パッケージのインストール 2. インストールされたパッケージを使う library(tidyverse)
実⾏(⌘↩) 読み込めたけど... コレとコレ は省きたい (データじゃない)
Don’t worry!!!
の基本 library(tidyverse) path <- “data/Book1.csv” read_csv(path)
の基本 library(tidyverse) path <- “data/Book1.csv” read_csv(path, skip = 2)
None
いちいちcsvに出⼒するの⾯倒だから エクセルファイルのまま読み込みたいなぁ。
Don’t worry!!!
library(tidyverse) path <- “data/Book1.xls” read_xlsx(path, skip = 2) の基本
エラー:そんな関数ないよ
Don’t worry!!!
library(tidyverse) library(readxl) path <- “data/Book1.xls” read_xlsx(path, skip = 2) の基本
そんな名前のファイル無いよ
無いことないだろ!!!?? さっき作ったばっかりだぞ!!
無いことないだろ!!!?? さっき作ったばっかりだぞ!! ほら!!!!!!
無いことないだろ!!!?? さっき作ったばっかりだぞ!! ほら!!!!!! 😇 ほら...ぁ...
library(tidyverse) library(readxl) path <- “data/Book1.xlsx” read_xlsx(path, skip = 2) の基本
😇 できた
プログラムは思った通りには動かない。 書いた通りに動くのだ。 誰が⾔ったか知らないが、
表データの加⼯と可視化の概観 Long Wide Nested plot Figures Data table read_csv write_csv
pivot_longer pivot_wider group_nest unnest ggplot ggsave wrap_plots map
□ Rの基本 □ Geostatisticsの基本 ✔
データ視覚化の⼈類史 グラフの発明から時間と空間の可視化まで Michael Friendly Howrad Wainer 飯嶋貴⼦ (訳) ⻘⼟社, 2021
データ視覚化の⼈類史 グラフの発明から時間と空間の可視化まで Michael Friendly Howrad Wainer 飯嶋貴⼦ (訳) ⻘⼟社, 2021
何かを理解しようとするならば、 その始まりと推移を観察しなさい -- アリストテレス『形⽽上学』 本書 p.21
主題図 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
最初の主題図「新ヨーロッパ地図」 アウグスト・クローム (独) ⽇本最初の主題地図帳 「⼤⽇本帝国地産要覧図」 最古の世界図 バビロニアの粘⼟版 B.C.700頃 1782 1889
1650頃 近代的な「データ」の概念の確⽴ ジョン・グラント(英) ウィリアム・ペティ(英) 1829 最初の影付き⽐較地図 「教育状況と犯罪数の⽐較統計」 アンドレ=ミシェル・ゲリー(仏) アントニオ・バルビ(仏) 「回帰」概念の確⽴ フランシス・ゴルトン(英) 1886 「散布図」概念の誕⽣ ウィリアム・ハーシェル(英) 1833
最初の主題図「新ヨーロッパ地図」 アウグスト・クローム (独) ⽇本最初の主題地図帳 「⼤⽇本帝国地産要覧図」 最古の世界図 バビロニアの粘⼟版 B.C.700頃 1782 1889
1650頃 近代的な「データ」の概念の確⽴ ジョン・グラント(英) ウィリアム・ペティ(英) 1829 最初の影付き⽐較地図 「教育状況と犯罪数の⽐較統計」 アンドレ=ミシェル・ゲリー(仏) アントニオ・バルビ(仏) 「回帰」概念の確⽴ フランシス・ゴルトン(英) 1886 「散布図」概念の誕⽣ ウィリアム・ハーシェル(英) 1833 1482 「形状の緯度について」 ニコラス・オレーム(仏)
「形状の緯度について」ニコラス・オレーム(仏) 1482 “緯度” “経度” 物理量の関数関係の可視化法 Wikipedia-en
𝑋 𝑌 𝑦! 𝑥! 𝑦" 𝑥" 𝑋 𝑌 𝑥! 𝑥"
𝑦! 𝑦" σʔλՄࢹԽ ࣸ૾ mapping
࣮ଘ ࣸ૾ʢ؍ʣ σʔλ ࣸ૾ʢσʔλՄࢹԽʣ άϥϑ 𝑋 𝑌 𝑦! 𝑥! 𝑦"
𝑥" 𝑋 𝑌 𝑥! 𝑥" 𝑦! 𝑦" EBUB mapping σʔλՄࢹԽ
写像 (mapping) 𝑓: 𝑋 → 𝑌 𝑋 𝑌 ある情報の集合の要素を、別の情報の集合の ただ1つの要素に対応づけるプロセス
「ナポレオンの⾏進」シャルル・ジョセフ・ミナール, 1812 -- これは、かつて作成された統計グラフィックのなかで最良のものと⾔えるだろう by エドワード・タフテ, 1983 ・地理情報(経度, 緯度)・軍の規模 ・軍の移動⽅向
・気温
□ Rの基本 □ Geostatisticsの基本 ✔ ✔
Enjoy!!