R でグループごとの観測値をカウントする方法
多くの場合、R のグループごとの観測値の数を数えることに興味があるかもしれません。
幸いなことに、これはdplyrライブラリのcount()関数を使用して簡単に行うことができます。
このチュートリアルでは、次のデータ フレームを使用して、この関数の実際の使用例をいくつか説明します。
#create data frame df <- data.frame(team = c('A', 'A', 'A', 'B', 'B', 'B', 'B', 'B', 'C', 'C' , 'CC'), position = c('G', 'G', 'F', 'G', 'F', 'F', 'F', 'G', 'G', 'F', 'F', 'F '), points = c(4, 13, 7, 8, 15, 15, 17, 9, 21, 22, 25, 31)) #view data frame df team position points 1 GA 4 2 AG 13 3AF 7 4 BG 8 5 BF 15 6 BF 15 7 BF 17 8 BG 9 9 GC 21 10 CF 22 11 CF 25 12 CF 31
例 1: 変数によるカウント
次のコードは、チームごとのプレーヤーの総数をカウントする方法を示しています。
library (dplyr)
#count total observations by variable 'team'
df %>% count(team)
# A tibble: 3 x 2
team n
1 to 3
2 B 5
3 C 4
結果から次のことがわかります。
- チームAは3人の選手で構成されています
- チームBは5人の選手で構成されています
- チームCは4人の選手で構成されています
この 1 つの count() 関数により、チームごとのプレーヤーの分布についての良いアイデアが得られます。
必要に応じて数を並べ替えることもできることに注意してください。
#count total observations by variable 'team' df %>% count(team, sort= TRUE ) # A tibble: 3 x 2 team n 1 B 5 2 C 4 3 to 3
例 2: 複数の変数によるカウント
いくつかの変数で並べ替えることもできます。
#count total observations by 'team' and 'position'
df %>% count(team, position)
# A tibble: 6 x 3
team position n
1 AF 1
2 AG 2
3 BF 3
4 BG 2
5 CF 3
6 GC 1
結果から次のことがわかります。
- チームAには、「F」(フォワード)ポジションに1人の選手、「G」(ガード)ポジションに2人の選手がいます。
- チームBには、「F」(フォワード)ポジションに3人の選手、「G」(ガード)ポジションに2人の選手がいます。
- チームCには、「F」(フォワード)ポジションに3人の選手と「G」(ガード)ポジションに1人の選手がいます。
例 3: 重み付けされた数値
ある変数のカウントを別の変数で「重み付け」することもできます。たとえば、次のコードは、「points」変数を重みとして使用して、チームごとの合計観測値をカウントする方法を示しています。
df %>% count(team, wt= points )
# A tibble: 3 x 2
team n
1 to 24
2 B 64
3 C 99
count()関数の完全なドキュメントはここで見つけることができます。