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
470
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
920
TokyoR109.pdf
kilometer
1
500
TokyoR#108_NestedDataHandling
kilometer
0
870
SappoRo.R_roundrobin
kilometer
0
160
TokyoR#104_DataProcessing
kilometer
1
730
TokyoR#103_DataProcessing
kilometer
0
930
TokyoR#102_RMarkdown
kilometer
1
680
TokyoR#101_RegressionAnalysis
kilometer
0
510
TokyoR#99_Divergence
kilometer
1
430
Other Decks in Programming
See All in Programming
Navigation 2 を 3 に移行する(予定)ためにやったこと
yokomii
0
350
Introducing ReActionView: A new ActionView-compatible ERB Engine @ Rails World 2025, Amsterdam
marcoroth
0
710
1から理解するWeb Push
dora1998
7
1.9k
AI Agents: How Do They Work and How to Build Them @ Shift 2025
slobodan
0
100
Performance for Conversion! 分散トレーシングでボトルネックを 特定せよ
inetand
0
3.4k
テストコードはもう書かない:JetBrains AI Assistantに委ねる非同期処理のテスト自動設計・生成
makun
0
540
Namespace and Its Future
tagomoris
6
710
print("Hello, World")
eddie
2
530
AI Coding Agentのセキュリティリスク:PRの自己承認とメルカリの対策
s3h
0
240
Updates on MLS on Ruby (and maybe more)
sylph01
1
180
はじめてのMaterial3 Expressive
ym223
2
900
🔨 小さなビルドシステムを作る
momeemt
4
690
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.6k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
23
1.4k
The Cult of Friendly URLs
andyhume
79
6.6k
Statistics for Hackers
jakevdp
799
220k
Agile that works and the tools we love
rasmusluckow
330
21k
Embracing the Ebb and Flow
colly
87
4.8k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.1k
Speed Design
sergeychernyshev
32
1.1k
Automating Front-end Workflow
addyosmani
1370
200k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.4k
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!!