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
410
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
860
TokyoR109.pdf
kilometer
1
450
TokyoR#108_NestedDataHandling
kilometer
0
770
SappoRo.R_roundrobin
kilometer
0
130
TokyoR#104_DataProcessing
kilometer
1
680
TokyoR#103_DataProcessing
kilometer
0
870
TokyoR#102_RMarkdown
kilometer
1
630
TokyoR#101_RegressionAnalysis
kilometer
0
370
TokyoR#99_Divergence
kilometer
1
350
Other Decks in Programming
See All in Programming
EC2からECSへ 念願のコンテナ移行と巨大レガシーPHPアプリケーションの再構築
sumiyae
3
580
QA環境で誰でも自由自在に現在時刻を操って検証できるようにした話
kalibora
1
140
ChatGPT とつくる PHP で OS 実装
memory1994
PRO
3
190
テストコードのガイドライン 〜作成から運用まで〜
riku929hr
7
1.4k
LLM Supervised Fine-tuningの理論と実践
datanalyticslabo
8
1.9k
AHC041解説
terryu16
0
340
「とりあえず動く」コードはよい、「読みやすい」コードはもっとよい / Code that 'just works' is good, but code that is 'readable' is even better.
mkmk884
6
1.4k
선언형 UI에서의 상태관리
l2hyunwoo
0
270
歴史と現在から考えるスケーラブルなソフトウェア開発のプラクティス
i10416
0
300
watsonx.ai Dojo #6 継続的なAIアプリ開発と展開
oniak3ibm
PRO
0
170
どうして手を動かすよりもチーム内のコードレビューを優先するべきなのか
okashoi
3
870
shadcn/uiを使ってReactでの開発を加速させよう!
lef237
0
290
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
Building a Scalable Design System with Sketch
lauravandoore
460
33k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
173
51k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
120k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
30
2.1k
Designing for Performance
lara
604
68k
Product Roadmaps are Hard
iamctodd
PRO
50
11k
The Cult of Friendly URLs
andyhume
78
6.1k
Agile that works and the tools we love
rasmusluckow
328
21k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.2k
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!!