R ファクター
要因
因子は、データを分類するために使用されます。要因の例は次のとおりです。
- 人口統計: 男性/女性
- 音楽: ロック、ポップ、クラシック、ジャズ
- トレーニング: 筋力、スタミナ
因子を作成するには、factor()
関数を呼び出して、ベクトルを引数として追加します。
例
# Create a factor
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"))
# Print the factor
music_genre
結果:
[1] ジャズ ロック クラシック クラシック ポップ ジャズ ロック ジャズ
レベル: クラシック ジャズ ポップ ロック
上記の例から、ファクターにはクラシック、ジャズ、ポップ、ロックの4つのレベル (カテゴリ)があることがわかります。
レベルのみを出力するには、levels()
関数を使用します。
例
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"))
levels(music_genre)
結果
【1】「クラシック」「ジャズ」「ポップ」「ロック」
levels
内部の引数factor()
関数を追加して、レベルを設定することもできます。
例
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"), levels = c("Classic", "Jazz", "Pop", "Rock", "Other"))
levels(music_genre)
結果
[1]「クラシック」「ジャズ」「ポップス」「ロック」「その他」
因子の長さ
length()
関数を使用し、因子に含まれる項目の数を調べます。
例
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"))
length(music_genre)
結果
[1] 8
アクセス要因
因子の項目にアクセスするには、大括弧[]
を使用してインデックス番号を参照します。
例
3番目の項目にアクセスします。
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"))
music_genre[3]
結果
[1]クラシック
レベル: クラシック ジャズ ポップ ロック
アイテム値の変更
特定の項目の値を変更するには、インデックス番号を参照してください。
例
3番目の項目の値を変更します。
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"))
music_genre[3] <- "Pop"
music_genre[3]
結果
[1]ポップ
レベル: クラシック ジャズ ポップ ロック
因子で指定されていない場合、特定の項目の値を変更できないことに注意してください。次の例では、エラーが発生します。
例
3番目の項目 (「Classic」) の値を、存在しない/事前定義されていない項目 (「Opera」) に変更しようとしています。
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"))
music_genre[3] <- "Opera"
music_genre[3]
結果
警告メッセージ
[<-.factor
(*tmp*
, 3, value = "Opera") :
無効な因子レベル、NAが生成されました
ただし、すでにlevels
引数を指定している場合、それは動作します。
例
3番目の項目の値を変更します。
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"), levels = c("Classic", "Jazz", "Pop", "Rock", <strong>"Opera"</strong>))
music_genre[3] <- "Opera"
music_genre[3]
結果
[1]オペラ
レベル: クラシック ジャズ ポップ ロック オペラ
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。