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
データフレームを操作/how_to_manipulate_dataframes
Search
florets1
June 08, 2023
Programming
0
350
データフレームを操作/how_to_manipulate_dataframes
florets1
June 08, 2023
Tweet
Share
More Decks by florets1
See All by florets1
カイ二乗検定は何をやっているのか/What_Does_the_Chi-Square_Test_Do
florets1
6
2k
直積は便利/direct_product_is_useful
florets1
3
300
butterfly_effect/butterfly_effect_in-house
florets1
1
110
データハンドリング/data_handling
florets1
2
160
カイ二乗検定との遭遇/The_path_to_encountering_the_chi-square_test
florets1
1
220
率の平均を求めてはいけない/Do_Not_Average_Rates
florets1
11
15k
請求と支払を照合する技術/using_full_join_in_r
florets1
2
220
応用セッション_同じデータでもP値が変わる話/key_considerations_in_NHST_2
florets1
1
1.1k
お名前から性別を推測する/Guessing_gender_from_name
florets1
1
500
Other Decks in Programming
See All in Programming
create_tableをしただけなのに〜囚われのuuid編〜
daisukeshinoku
0
280
「Chatwork」Android版アプリを 支える単体テストの現在
okuzawats
0
180
AppRouterを用いた大規模サービス開発におけるディレクトリ構成の変遷と問題点
eiganken
1
150
【re:Growth 2024】 Aurora DSQL をちゃんと話します!
maroon1st
0
800
採用事例の少ないSvelteを選んだ理由と それを正解にするためにやっていること
oekazuma
2
1.1k
GitHubで育つ コラボレーション文化 : ニフティでのインナーソース挑戦事例 - 2024-12-16 GitHub Universe 2024 Recap in ZOZO
niftycorp
PRO
0
120
Effective Signals in Angular 19+: Rules and Helpers
manfredsteyer
PRO
0
130
週次リリースを実現するための グローバルアプリ開発
tera_ny
1
110
良いユニットテストを書こう
mototakatsu
8
3.1k
各クラウドサービスにおける.NETの対応と見解
ymd65536
0
170
PHPUnitしか使ってこなかった 一般PHPerがPestに乗り換えた実録
mashirou1234
0
330
Fibonacci Function Gallery - Part 1
philipschwarz
PRO
0
230
Featured
See All Featured
Side Projects
sachag
452
42k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
BBQ
matthewcrist
85
9.4k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
For a Future-Friendly Web
brad_frost
175
9.4k
Writing Fast Ruby
sferik
628
61k
Optimising Largest Contentful Paint
csswizardry
33
3k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
810
How STYLIGHT went responsive
nonsquared
96
5.2k
YesSQL, Process and Tooling at Scale
rocio
169
14k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
910
What's in a price? How to price your products and services
michaelherold
244
12k
Transcript
1 2023.06.10 Tokyo.R #106 データフレームを操作
Rでデータを加工してレポート
Tidyverse データの整形がはかどるライブラリ
← 代入
c() ベクトルを作る ベクトルの1番目の要素x[1]の値は0.3
▷ パイプライン x ^ 2 %>% sum %>% sqrt という書き方もあります。
tibble() データフレームを作る
この資料の表記ルール データフレームやCSVファイルのようなテーブル形状のデータを右図のように表記します。 =
架空の業務システム order_no 1 client AAA 1 abcd 2300 100 seq_no
unit_price item qty 2 efg 1500 90 (new)
order_no 1 client AAA orders (注文ヘッダー) 1 abcd 2300 100
seq_no unit_price item qty 2 efg 1500 90 (new)
1 abcd 2300 100 seq_no unit_price item qty 2 efg
1500 90 (new) details (注文明細) order_no 1 client AAA items (商品)
read_csv() ファイルを読み込む データフレーム(tibble)として読み込まれます。
行を抽出して列を選択する filter() とselect() ▷
inner_join() 結合する details orders × =
さらに結合する items × =
mutate() 列を追加する
結果をdに代入 d
在庫タイプ別の合計金額 ▷ d
注文番号ごとの合計金額 ▷ d
注文番号ごとの合計金額をsに代入 s ▷ d 注文番号ごとの合計金額
dとsを結合
注文番号ごとの割合
注文番号ごとの割合 nestとmapを使って書く例 中間変数無しで一気通貫に書ける
nestとmapの処理の流れ(1)
nestとmapの処理の流れ(2)
nestとmapの処理の流れ(3)
nestとmapの処理の流れ(4)
nestとmapの処理の流れ(5)
まとめ Tidyverse 便利なライブラリ ← 代入 C() ベクトル ▷ パイプライン tibble()
データフレーム read_csv() 読み込む filter() 抽出 select() 選択 inner_join() 結合 mutate() 列を追加 group_by() グループ化 summarise() 集計 group_nest() 入れ子にする map_dbl() リストに関数適用 ~ . ラムダ式 unnest() 入れ子を解除