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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
kilometer
July 15, 2023
Programming
0
490
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
940
TokyoR109.pdf
kilometer
1
520
TokyoR#108_NestedDataHandling
kilometer
0
890
SappoRo.R_roundrobin
kilometer
0
170
TokyoR#104_DataProcessing
kilometer
1
750
TokyoR#103_DataProcessing
kilometer
0
960
TokyoR#102_RMarkdown
kilometer
1
710
TokyoR#101_RegressionAnalysis
kilometer
0
530
TokyoR#99_Divergence
kilometer
1
450
Other Decks in Programming
See All in Programming
公共交通オープンデータ × モバイルUX 複雑な運行情報を 『直感』に変換する技術
tinykitten
PRO
0
200
フロントエンド開発の勘所 -複数事業を経験して見えた判断軸の違い-
heimusu
7
2.7k
2年のAppleウォレットパス開発の振り返り
muno92
PRO
0
190
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
620
IFSによる形状設計/デモシーンの魅力 @ 慶應大学SFC
gam0022
1
280
コントリビューターによるDenoのすゝめ / Deno Recommendations by a Contributor
petamoriken
0
200
なるべく楽してバックエンドに型をつけたい!(楽とは言ってない)
hibiki_cube
0
130
.NET Conf 2025 の興味のあるセッ ションを復習した / dotnet conf 2025 quick recap for backend engineer
tomohisa
0
120
Kotlin Multiplatform Meetup - Compose Multiplatform 외부 의존성 아키텍처 설계부터 운영까지
wisemuji
0
180
The Art of Re-Architecture - Droidcon India 2025
siddroid
0
170
AIフル活用時代だからこそ学んでおきたい働き方の心得
shinoyu
0
120
プロダクトオーナーから見たSOC2 _SOC2ゆるミートアップ#2
kekekenta
0
150
Featured
See All Featured
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
1
1.3k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
110
Facilitating Awesome Meetings
lara
57
6.7k
The Language of Interfaces
destraynor
162
26k
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
0
100
Believing is Seeing
oripsolob
1
44
Embracing the Ebb and Flow
colly
88
5k
Site-Speed That Sticks
csswizardry
13
1k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
1
45
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.3k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
100
sira's awesome portfolio website redesign presentation
elsirapls
0
140
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!!