« [R]read_xlsx関数を使うと画面表示が乱れる(カーソルが飛ぶ) | トップページ | [R]ベクトルの要素について累積の和を求める »

2024年11月26日 (火)

[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]read_xlsx関数を使うと画面表示が乱れる(カーソルが飛ぶ) | トップページ | [R]ベクトルの要素について累積の和を求める »

無料ブログはココログ

■■

■■■