第4章 Rベースで抽出・集計 ・ ノック 58 / 100 ・ [[000 - はじめに(使い方と目次)|目次]]<br> ← 前 [[057 - 欠損のある行を除く]] ・ 次 → [[059 - tidyverse を読み込む]] > [!info] 因子(factor)と水準(levels) > Rの **因子(factor)** はカテゴリ変数を表す特別なデータ型です。単なる文字列と違い、因子はあらかじめ取りうる値の種類(**水準 levels**)を内部に記憶しています。たとえば `iris$Species` は "setosa"・"versicolor"・"virginica" の3水準を持つ因子です。`levels()` でその水準の一覧を、`class()` でデータ型を確認できます。因子は統計モデルや集計関数と組み合わせたときに特に力を発揮します。 ## 問題 `iris$Species` の水準(levels)を `levels()` で確認し、さらに `class()` でデータ型を確認してください。 > [!tip] ヒント > `levels()` と `class()` にそれぞれ `iris$Species` を渡します。 > [!success]- 回答を見る > ```r > levels(iris$Species) > class(iris$Species) > ``` > ``` > [1] "setosa" "versicolor" "virginica" > [1] "factor" > ``` > 水準は3種類で、アルファベット順に並んでいます。`class()` の結果が `"factor"` であることで、文字列(`"character"`)ではなく因子型であることが確認できました。因子の順序(基準カテゴリ)は統計モデルの結果の解釈に影響するため、把握しておくことが大切です。