R の aggregate 関数: データの集計を行う

UB3/informatics/r/aggregate

このページの最終更新日: 2024/09/30

  1. 概要: aggregate() 関数とは
  2. 各行を足し合わせて集計する
  3. 属するグループの数を数える

広告

概要: aggregate() 関数の基本的な使い方

各行を足し合わせて集計する

Name Number
A 1
A 3
B 2
B 3

のようなデータフレームがあって、これを

A 4
B 5

のように足し合わせて集計したい場合。

df <- data.frame(Name = c("A", "A", "B", "B"), Number = c(1, 3, 2, 3))
summed <- aggregate(Number ~ Name, data = df, FUN = sum)


データが複数列あるとき。Number という列を指定していた部分を、全ての列を含むように . に変える。

Name Number_1 Number_2
A 1 2
A 3 4
B 2 3
B 3 4

df <- data.frame(Name = c("A", "A", "B", "B"), Number_1 = c(1, 3, 2, 3), Number_2 = c(2, 4, 3, 4))
summed <- aggregate(. ~ Name, data = df, FUN = sum)

属するグループの数を数える

Group のカウント。

name group
A group1
B group1
C group1
D group2
E group2
F group3

上記のようなデータから、以下のようにグループをカウントする。

group1 3
group2 2
group3 1

result <- aggregate(df$name, by = list(group = df$group), FUN = length)

ただし、これは group_by() 関数の方が簡単かもしれない。

result <- df %>% group_by(group) %>% summarize(count = n())


広告

References

コメント欄

サーバー移転のため、コメント欄は一時閉鎖中です。サイドバーから「管理人への質問」へどうぞ。