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
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
150
0
Share
Rで学ぶデータハンドリング入門/Introduction_to_Data_Handling_with_R
florets1
September 14, 2025
More Decks by florets1
See All by florets1
データ分析をはじめよう/lets_start_data_analysis
florets1
2
970
なぜSQLはAIぽく見えるのか/why does SQL look AI like
florets1
0
620
Tableauとggplot2の背景/Background_of_Tableau_and_ggplot2
florets1
0
82
人工知能はクロスジョインでできている/AI_Is_Built_on_Cross_Joins
florets1
0
100
仮説の取扱説明書/User_Guide_to_a_Hypothesis
florets1
4
470
複式簿記から純資産を排除する/eliminate_net_assets_from_double-entry_bookkeeping
florets1
1
480
カイ二乗検定は何をやっているのか/What_Does_the_Chi-Square_Test_Do
florets1
7
2.5k
直積は便利/direct_product_is_useful
florets1
3
480
butterfly_effect/butterfly_effect_in-house
florets1
1
300
Other Decks in Business
See All in Business
株式会社ハイウェイ_採用候補者様向け会社紹介資料
recruit_hiway
0
320
私はこの1ヶ月、ハーネスエンジニアリングをしていたらしい(株式会社bajjiファウンダー)
noritaka88tax
0
110
[T2] 会社紹介資料 2026年3月
t2auto
2
6.4k
株式会社スピークバディ 会社紹介資料
speakbuddy
1
220k
子育てとキャリアのビルディングブロック
news_it_enj
2
140
supateam - DevOpsDaysTokyo 2026 投影資料
aisaac
PRO
0
300
UPs Meet up! vol.9_LT_コーポレートのためのAI活用戦略会議
sakiyogoro
0
240
事業本部紹介資料_260401
mwktp
0
630
2000年前の「心の整理術」で、ふりかえり後の1アクションを決める!〜ストア哲学で、チームをもっと軽やかに〜
doiko123
0
510
深掘り問いカードを使って問いの手札を増やそう!
kawanotron
0
550
ドクターベネフィットG紹介資料‗エムスリー / Introduction of e-Book Unit Doctor Benefit Group of M3inc
m3
0
310
営業職/新卒向け会社紹介資料(テックファーム株式会社)
techfirm
1
1.5k
Featured
See All Featured
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
680
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
220
The Invisible Side of Design
smashingmag
303
52k
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.5k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
770
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.7k
Making Projects Easy
brettharned
120
6.6k
Google's AI Overviews - The New Search
badams
0
980
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