第5章 tidyverse(dplyr)で再現 ・ ノック 71 / 100 ・ [[000 - はじめに(使い方と目次)|目次]]<br>
← 前 [[070 - ネイティブパイプを使う]] ・ 次 → [[072 - 重複を除く]]
> [!info] count() はグループごとの行数を数える動詞です
> **`count()`**(カウント)は、指定した列の値ごとに行数を数えてデータフレームとして返す動詞です。`count(iris, Species)` と書くと、Species の値ごとに何行あるかを集計した表が返ります。結果の列名は自動的に `n` になります。
>
> Rベースでは `table(iris$Species)` で同様の集計ができましたが、`count()` の結果はデータフレームなので後続のパイプ処理につなげやすいという利点があります。`group_by() %>% summarise(n = n())` と書いても同じ結果が得られますが、`count()` の方が短く書けます。
## 問題
`iris` の Species ごとの行数を `count()` で数えてみましょう。
> [!tip] ヒント
> `count(データフレーム, 集計したい列名)` の形で書きます。
> [!success]- 回答を見る
> ```r
> library(dplyr)
> count(iris, Species)
> ```
> ```
> Species n
> 1 setosa 50
> 2 versicolor 50
> 3 virginica 50
> ```
> Rベースでは `table(iris$Species)` と書いていましたが、`count()` を使うと結果がデータフレームとして返るので、そのままパイプでつないで次の処理に使えます。