Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Rで学ぶデータハンドリング入門/Introduction_to_Data_Handling_w...
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
florets1
September 14, 2025
Business
170
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Rで学ぶデータハンドリング入門/Introduction_to_Data_Handling_with_R
florets1
September 14, 2025
More Decks by florets1
See All by florets1
整数計画ソルバーで遊ぼう/using_an_integer_programming_solver_in_r
florets1
0
43
データ分析をはじめよう/lets_start_data_analysis
florets1
2
1.1k
なぜSQLはAIぽく見えるのか/why does SQL look AI like
florets1
0
850
Tableauとggplot2の背景/Background_of_Tableau_and_ggplot2
florets1
0
100
人工知能はクロスジョインでできている/AI_Is_Built_on_Cross_Joins
florets1
0
130
仮説の取扱説明書/User_Guide_to_a_Hypothesis
florets1
4
500
複式簿記から純資産を排除する/eliminate_net_assets_from_double-entry_bookkeeping
florets1
1
520
カイ二乗検定は何をやっているのか/What_Does_the_Chi-Square_Test_Do
florets1
7
2.6k
直積は便利/direct_product_is_useful
florets1
3
540
Other Decks in Business
See All in Business
freeeの福利厚生と働き方
freee
PRO
1
110k
Corporate Story (GA technologies Co., Ltd.)
gatechnologies
0
1.2k
採用ピッチデック
macloud
5
91k
ログラス会社紹介資料 / Loglass Company Deck
loglass2019
20
580k
PdMからみた EMの役割の変化 / When EM Meets PdM
hirokiyamamoto14
PRO
1
200
安定公務員みたいな学校から 毎年アップデートされる世界へ
maijun
1
1.1k
FY2026.6 Impact Report EN
mercari_inc
0
2.1k
「仕訳」から「取引」へ(fAD2026)
shunsuke_takeuchi
PRO
0
1.2k
AI立国論(2026年9月)
noritaka88tax
0
130
どうせなら「楽しい仕事」をする
kozotaira
0
350
ダイサンデジタル事業部
daisan123
0
650
20260828_15minLT_データ分析10倍時代を考える
doradora09
PRO
0
970
Featured
See All Featured
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
600
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
3k
Code Review Best Practice
trishagee
74
20k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
250
1.3M
Leo the Paperboy
mayatellez
10
2.3k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Un-Boring Meetings
codingconduct
0
420
Building the Perfect Custom Keyboard
takai
2
880
Making the Leap to Tech Lead
cromwellryan
135
10k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.8k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
280
Transcript
1 2025.09.20 Tokyo.R #119 Rで学ぶデータハンドリング入門 - 雑然データから整然データへ -
2 今日のテーマ • Rでのデータ操作例(tidyverse) • データ分析に役立つデータ整理術 整然データ(tidy data)という考え方
3 例:応募者の選考データ 雑然データ.csv 整然データ.csv
4 雑然データ.csv • 一行に一人の応募者 • 変数「選考段階」の値である一次、二次が列として存在 一見わかりやすく感じる
5 整然データ.csv • 応募者NOと選考段階でユニーク
6 整然データは扱いやすい(1) データを読み込む
7 整然データは扱いやすい(2) 一次・二次ごとの合否を簡単に集計できる!
8 整然データは扱いやすい(3) 通過人数だけを抽出
9 整然データは扱いやすい(4) 選考段階で並べ替え
10 整然データは扱いやすい(5) 上の行の件数を取得
11 整然データは扱いやすい(6) 選考段階が三次、四次と増えてもコードはそのまま!
12 雑然データは扱いにくい(1) 選考段階ごとにコード追加が必要
13 雑然データは扱いにくい(2) 選考段階ごとにコード追加が必要
14 雑然データは扱いにくい(3) 選考段階ごとにコード追加が必要
15 雑然データは扱いにくい(4) 選考段階が増えるたびにコード追加が必要
16 雑然データを整然データに変換 雑然データ.csv pivot_longer
17 変換できたら後は同じ
18 整然データの定義 1.各変数は列に 2.各観測は行に 3.各観測単位は1テーブルに 4.各値はセルに
19 定義の確認(雑然データ.csv) • 1つの変数(選考段階)が複数の列(一次、二次)に割れている→NG • 1つの行に複数の観測(一次の結果、二次の結果)が入っている→NG
20 定義の確認(整然データ.csv) • 変数=列 • 観測=行 整然データの定義を満たしている
21 定義の確認(各観測は1テーブルに) 1.ひとつのテーブルに種類の違う観測が入っては ならない 2.同じ種類の観測が複数のテーブルにまたがって はならない
22 定義の確認(各観測は1テーブルに) ひとつのテーブルに種類の違う観測が入ってはならない • 応募者名は「応募者」という単位の観測 • 選考段階や合否結果は「選考」という単位の観測 本来は「応募者」テーブルと「選考」テーブルに分けるべき
23 定義の確認(各観測は1テーブルに) ひとつのテーブルに種類の違う観測が入ってはならない • 応募者テーブル:応募者NOをキーとして応募者の情報をまとめる • 選考テーブル:応募者NOと選考段階をキーにして合否を記録する 分ける 選考 応募者
選考データに応募者の情報 観測単位が違うものは別のテーブルにしておくことで、矛盾を防ぎ、管理が楽になる
24 定義の確認(各観測は1テーブルに) なぜテーブルを分けるのか • 応募者名を選考テーブルの各行に書いてしまう と誤って違う名前が入る可能性がある。 • 応募者の名前変更があった場合に全ての行を 修正しなければならない。
25 定義の確認(各観測は1テーブルに) 1月応募.csv 2月応募.csv 3月応募.csv つなげる 同じ種類の観測が複数のテーブルにまたがってはならない
26 定義の確認(各値はセルに) 悪い例 • 「面接者」カラムに「伊藤、山本」のように複数の名前 • 分析するとき、「誰が面接したのか」を集計するのが難しい
27 定義の確認(各値はセルに) よい例 • 「選考」テーブルと「面接者」テーブルに分ける • 「面接者」テーブルは一行に一面接者 分ける 面接者 選考
まとめ • 雑然データは処理が大変 • 整然データにすればコードが単純に、データ分析が楽に なる 「雑然データだから苦労しているのかも」と考えてみよう 28