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
tidyverse tutorial 1
Search
kur0cky
September 20, 2019
Programming
91
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
tidyverse tutorial 1
tidyverse 超入門
講義用
kur0cky
September 20, 2019
More Decks by kur0cky
See All by kur0cky
The bootstrapping method for everyone
kur0cky
3
1k
音楽理論と方向統計学の初歩/introduction of circular statistics and musicology
kur0cky
5
2.3k
NLP introduction in R 1
kur0cky
0
110
tidyverse tutorial 2
kur0cky
1
74
Other Decks in Programming
See All in Programming
AIの中の人になってみる
htkym
0
150
Webエンジニアなのにブラウザの仕組みがわからないので、Pythonで自作してみた
tatsuki12
4
1.6k
AI Readyの正体はデータマネジメントだ メダリオン2.0の最前線
freee
PRO
0
520
Go を使い始めて 2 ヶ月の学び / My first two months with Go
contour_gara
0
400
Hono + Inertia + React で LP を構築した話
oukayuka
2
190
信頼性の目標を誰も求めてない
shubox
0
470
Claude Code全社展開のためにやったことn選~プラグイン302個・コミッター271人を支えるために~
kenchan
5
1.8k
GKE アップグレード前に知っておきたい Blue/Green と PDB の関係
stkk
0
120
リアルな遅延を測る仕様
kota_yata
1
130
KotlinConf Extended South Korea 2026 Keynote
l2hyunwoo
0
130
思考垂れ流し開発 ~音声入力 × AIエージェント × 開発ハーネスによる試行錯誤~
npostring
0
650
FastAPI の並行処理モデルを完全に理解する
hoto17296
9
3.4k
Featured
See All Featured
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
180
Context Engineering - Making Every Token Count
addyosmani
9
1.1k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.1k
What's in a price? How to price your products and services
michaelherold
247
13k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Product Roadmaps are Hard
iamctodd
55
13k
Designing Powerful Visuals for Engaging Learning
tmiket
1
520
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
The Director’s Chair: Orchestrating AI for Truly Effective Learning
tmiket
1
290
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.9k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
290
Transcript
σʔλղੳͱલॲཧ .ࠇ༟ୋ !FEUVTBDKQ
࣍ σʔλղੳͱ 3ͱ34UVEJP 3ͷجຊ ϞμϯͳσʔλϑϨʔϜૢ࡞ !2
ຊ༻͢Δσʔλ TUBSXBST w ελʔΥʔζͷొਓʹؔ͢Δσʔλ IUUQTXBQJDP qJHIUT w ʹ-(" +',
&83Λग़ൃͨͯ͢͠ͷϑϥΠτͷఆࠁσʔλ XFBUIFS w -(" +', &83ͷఱީ෩ͷใ ࣌ؒ͝ͱ BJSMJOFT w ߤۭձࣾͷςʔϒϧ !3
σʔλղੳͱ
σʔλղੳͱ !5 6OEFSTUBOE *NQPSU 0VUQVU4IBSF
σʔλղੳͱ !6 *NQPSU 0VUQVU4IBSF 7JTVBMJ[F .PEFMMJOH *OUFSQSFU 5SBOTGPSN
5PPMT ͨ͘͞Μ͋Δ w ి w .JDSPTPGU&YDFM w *#.4144 w 4"4
w 1ZUIPO w 3 !7
5PPMT ͖ʹબྑ͍ w Έ ྲྀߦΓ څྉ ۙʹಘҙͳਓ͕͍Δ FUD !8 #JH%BUB
ػցֶश ౷ܭղੳ ϋϯυϦϯά 42- ˕ ✕ ✕ ˓ 3 ˚ ˓ ˕ ˕ 1ZUIPO ˚ ˕ ˓ ˓ &YDFM ✕ ✕ ✕ ✕ ి ✕ ✕ ✕ ✕
3ͱ34UVEJP
3 ಘҙͳͷͰ3Λհ͠·͢ w ΠϯλϓϦλݴޠ 㲗ίϯύΠϥݴޠ ॴ w 044 w
༷ʑͳ౷ܭղੳɾػցֶशϥΠϒϥϦ w 34UVEJPࣾͷଘࡏ ॴ w ͍ ෦͕$ ͳͲͰॻ͔Ε͍ͯΔͱ͍ !10
34UVEJPΛ͓͏ w 3ʹಛԽͨ͠౷߹։ൃڥ *%& w ΤσΟλͱͯ͠༏लͳ͚ͩͰͳ͘ ༷ʑͳ֦ுػೳ w ๛ͳγϣʔτΧοτ
w (JUͱͷ࿈ܞ w ແྉ !11
34UVEJPͷը໘ ΤσΟλ ίϯιʔϧ ΦϒδΣΫτ ཤྺͳͲ ϓϩοτ
ϔϧϓͳͲ !12 ᶃ ᶄ ᶅ ᶆ
ىಈ͠Α͏ w ىಈ w ͨ͠&YFSDJTF31SPKΛ্ཱͪ͛Δ w 3Λಈ͔ͯ͠ΈΑ͏ w ίϯιʔϧͰplot(iris) w
ύοέʔδΛΠϯετʔϧͯ͠ΈΑ͏ ͕͔͔࣌ؒΔͷͰҙ • install.packages(“tidyverse”) w εΫϦϓτΛ࡞ͬͯΈΑ͏ w 'JMF/FX'JMF34DSJQU !13
31SPKFDUͱ w ϓϩδΣΫτ୯ҐͰੳΛཧ͢Δ͘͠Έ w Ұ࿈ͷղੳͰඞཁʹͳΔϑΝΠϧ܈Λ·ͱΊͯѻ͏ w ࡞ۀσΟϨΫτϦ͕ͦ͜ʹͳΔ w ଞਓͱͷڞ༗͕͍͢͠ w
'JMF/FX1SPKFDUͰ࡞ !14
ڥΛઃఆ͠Α͏ w 5PPMT(MPCBM0QUJPOT͔Βڥઃఆ w (FOFSBMɿνΣοΫΛશͯ֎ͦ͏ w 3FTUPSFQSFWJPVTMZPQFOTPVSDFEPDVNFOUBUTUBSUVQ ͓͍ͯͯ͠ྑ͍ w $PEF4BWJOHɿΤϯίʔσΟϯάΛ65'ʹ
w "QQFBSBODFɿ͖ͳݟͨʹઃఆ͠Α͏ !15
3ͷجຊ
جຊ w GPSจ JGจ ؔ ͦͷଞʜ w ଞͷݴޠͱ͋·ΓมΘΒͳ͍ͷͰ ͻͭΑ͏ʹͳͬͨΒௐ ͍ͯͩ͘͞
w ྻͷࢀর͡·Γʂʂ !17
3Ͱͷσʔλܕ Ұͭͷ w -PHJDBM #PPMFBO w *OUFHFS w %PVCMF
w $PNQMFY w $IBSBDUFS w 'BDUPS w FUDʜ !18 ෳͷ w "UPNJD7FDUPS w .BUSJY w %BUB'SBNF w -JTU w FUDʜ
"UPNJD7FDUPS w ̍࣍ݩྻ w ཁૉશͯಉ͡ܕ શͯJOUFHFS શͯDIBSBDUFS ͳͲ w
ཁૉͷશͯΛ·ͱΊͯॲཧͰ͖Δʢ࢛ଇԋࢉͱ͔ʣ w c()Ͱ࡞Δ !19
"UPNJD7FDUPS !20 drink <- c(“beer”, “sake”, “whisky”) # ೖ drink
# ΦϒδΣΫτͷݺͼग़͠ price <- c(480, 700, 850) # ܕϕΫτϧ favorite <- c(TRUE, TRUE, TRUE) # ཧܕϕΫτϧ
.BUSJY w ̎࣍ݩྻ w ཁૉશͯಉ͡ܕ w ߦྻԋࢉ͕Ͱ͖Δʢੵͱ͔ʣ w ཁૉͷશͯΛ·ͱΊͯॲཧͰ͖Δʢ࢛ଇԋࢉͱ͔ʣ w
matrix()Ͱ࡞Δ !21
-JTU w ̍࣍ݩྻ w ཁૉͳΜͰ͍͍ 7FDUPSͷ֦ு w list()Ͱ࡞Δ w
ࣗ༝͕ΊͬͪΌߴ͍ !22
%BUB'SBNF ͓ͳ͡Έͷ࢛͍֯ςʔϒϧ • ֤ྻಉ͡͞ͷ Atomic vector w data.frame()Ͱ࡞Δ w data.frame(drink
= drink, price = price, favorite = favorite) w ༷ʑͳύοέʔδ͕%BUB'SBNFΛத৺ʹ࡞ΒΕ͍ͯΔ !23
%BUB'SBNFʹ৮Ζ͏ starwars <- read.csv("data/starwars.csv", stringsAsFactors = FALSE, fileEncoding = “UTF-8”)
head(starwars) # ઌ಄֬ೝ tail(starwars) # ඌ֬ೝ summary(starwars) # هड़౷ܭྔ str(starwars) # ֤ྻͷܕ֬ೝ !24
ϞμϯͳσʔλϑϨʔϜૢ࡞
ʮ5PPMʹਫ਼௨͢Δʯͱ͍͏͜ͱ ྉཧʹྫ͑Δͱ w แஸίϯϩΛ͑ΔΑ͏ʹͳΖ͏ w ϨγϐదٓݟΕΑ͍ ʮരͰσʔλΛѻ͑Δʯͱ͍͏͜ͱ w େͳࢼߦࡨޡΛ܁ΓฦͤΔ w
࣌ؒ༗ݶ ຊ࣭తͰͳ͍࡞ۀͬ͞͞ͱऴΘΒͤͯ ҿΈʹग़͔͚Α͏ݚڀ͠Α͏ !26
5JEZWFSTF ֓೦ w 3Ͱͷ༷ʑͳૢ࡞ *NQPSU &YQPSU 5SBOTGPSN 7JTVBMJ[BUJPO FUD ͕
౷ҰతͳΠϯλʔϑΣʔεͰग़དྷͨΒ ૉఢͩΑͶ ύοέʔδ w ্هΛ࣮ݱ͢ΔͨΊͷύοέʔδ܈ w install.packages(“tidyverse”) ͰΠϯετʔϧ w )BEMFZ8JDLIBN 34UVEJPࣾ ͕த৺ͱͳΓ։ൃ w ศར !27 ˞)BEMFZ8JDLIBN3քͷਆ
5JEZWFSTF !28
5JEZWFSTF !29 ಛʹ͜ΕΒ
library(tidyverse)
%BUB'SBNFͷجຊૢ࡞ EQMZS w ม ྻ ͷநग़ w ؍ଌ ߦ ͷநग़
w ؍ଌ ߦ ͷฒͼସ͑ w ৽ͨͳม ྻ ͷ࡞ w ूܭ w άϧʔϓԽ !31 • select() • filter() • arrange() • mutate() • summarise() • group_by()
͍ํ w ୈҾʹσʔλϑϨʔϜΛ༩͑Δ w ୈҾҎ߱Ͱྻ໊ΛΫΦʔςʔγϣϯແ͠Ͱ༩͑Δ w Γ৽ͨͳσʔλϑϨʔϜ !32
ͬͯΈΑ͏ select(starwars, name, gender, species) filter(starwars, species == "Human", height
<= 170) mutate(starwars, BMI = mass / (height/100)^2) arrange(starwars, gender, height) summarise(starwars, mean_mass = mean(mass, na.rm = TRUE), mean_height = mean(height, na.rm = TRUE)) grouped <- group_by(starwars, species) summarise(grouped, mean_mass = mean(mass, na.rm = TRUE), mean_height = mean(height, na.rm = TRUE), count = n()) !33
%>%
ύΠϓԋࢉࢠ%>% X %>% f X %>% f(y) X %>% f
%>% g X %>% f(y, .) !35 f(X) f(X, y) g(f(X)) f(y, X) લͷؔͷग़ྗΛ࣍ͷؔͷୈҾʹΘͨ͢ͷ $NE 4IJGU N $USM 4IJGU N Ͱೖྗ
ෳͷॲཧΛ͢Δ߹ df1 <- filter(starwars, species == "Human") df2 <- mutate(d1,
BMI = mass / (height/100)^2) df3 <- group_by(df2, gender) df4 <- summarise(df3, mean_BMI = mean(BMI, na.rm=TRUE), min_BMI = min(BMI, na.rm=TRUE), max_BMI = max(BMI, na.rm=TRUE) !36 # A tibble: 2 x 4 gender mean_BMI min_BMI max_BMI <chr> <dbl> <dbl> <dbl> 1 female 22.0 16.5 27.5 2 male 26.0 21.5 37.9
ෳͷॲཧΛ͢Δ߹ starwars %>% filter(species == "Human") %>% mutate(BMI = mass
/ (height/100)^2) %>% group_by(gender) %>% summarise(mean_BMI = mean(BMI, na.rm=TRUE), min_BMI = min(BMI, na.rm=TRUE), max_BMI = max(BMI, na.rm=TRUE)) %>%Λ͏͜ͱͰ ୭ʹͰಡΈ͍͢ίʔυʹʂʂ !37
࿅श ͷ࠷͍உੑΛ֬ೝͤΑ #.*ͷͬͱߴ͍ొਓ୭͔ ฏۉ͕࠷ߴ͍छԿ͔ ݕࡧͯͦ͠ͷ࢟Λ͔֬ΊΑ͏ !38
࣍ճ·Ͱͷ՝
՝ 1. ൃۭߓ (origin) ͝ͱͷඈߦػศͷ, ඈߦڑͷฏۉ, ग़ൃ࣌ࠁԆͷ ฏۉΛٻΊΑ 2. ͝ͱͷग़ൃ࣌ࠁԆͷฏۉΛٻΊΑ
3. ͝ͱʹܽߤʹͳͬͨศͷΛௐΑ ʢܽߤͩͱdep_delayͱarr_delay͕NAʹͳΔʣ 4. ࣮ࡍʹඈΜͩศͷඈߦڑͷඪ४ภࠩΛग़ൃۭߓ͝ͱʹٻΊ, ঢॱʹ ฒΑ 5. ͝ͱʹ, ۭߓLGA͔Β࠷ॳʹඈΜͩศͱ࠷ޙʹඈΜͩศΛநग़ͤΑ 6. ࣮ࡍʹඈΜͩศͷ͏ͪ, ఆࠁ௨Γग़ൃͨ͠ศͷׂ߹ΛௐΑ ώϯτɿdplyrͷؔͷதͰ n() Λ͏ͱߦΛࢉग़Ͱ͖Δ !40