[R]tibbleで特定の列の値を基準にして集計を行う
例えば家計簿のように、日にちと金額が一対一で対応しているデータについて、毎日の入出金の流れを見たい場合など。
各情報の基準は日にちであり、同じ日にいくつも入金や出金が発生する日があり、この基準となる日付には重複がある。このようなデータを一覧で見るぶんにはよいが、毎日の入出金の流れはこれでは見ることはできない。この例では、日ごとに金額の集計を行いたい。この場合は、日にちごとの金額の和を計算してまとめたい。
このような場合は、group_by関数でtibble内部でグループ化を行い、それをsummarize関数で処理することで、集計後のtibbleに変換することができる。以下、実行例。表示を簡潔にするため、データフレームに変換して表示している。
> tib %>% as.data.frame()
date type value
1 2023-10-03 入金 200
2 2023-10-04 電気 4
3 2023-10-07 ガス 5
4 2023-10-07 電話 7
5 2023-10-09 水道 6
> tib %>% group_by(date) %>% as.data.frame()
date type value
1 2023-10-03 入金 200
2 2023-10-04 電気 4
3 2023-10-07 ガス 5
4 2023-10-07 電話 7
5 2023-10-09 水道 6
> tib %>% group_by(date) %>% summarize(value = sum(value)) %>% as.data.frame()
date value
1 2023-10-03 200
2 2023-10-04 4
3 2023-10-07 12
4 2023-10-09 6
group_by関数は内部でグループ化を行っているだけであり、2番目の実行例のとおりgroup_by関数だけでは集計が行われない(表示されない)ことに注意。
« [R]read_xlsx関数を使うと画面表示が乱れる(カーソルが飛ぶ) | トップページ | [R]ベクトルの要素について累積の和を求める »
「R(tidyverse)」カテゴリの記事
- [R]2つの列による重複を調べてその重複の数を表示する(2025.12.24)
- [R]tibbleから指定した一列を取り出してベクトルにする(2025.10.19)
- [R]tibbleを指定した列だけのtibbleに変換する(2025.10.14)
- [R]tibbleを指定した行だけのtibbleに変換する(2025.10.13)
- [R]tibbleの列名を得る(2025.07.17)
« [R]read_xlsx関数を使うと画面表示が乱れる(カーソルが飛ぶ) | トップページ | [R]ベクトルの要素について累積の和を求める »

コメント