Rファクター


要因

係数は、データを分類するために使用されます。要因の例は次のとおりです。

  • 人口統計:男性/女性
  • 音楽:ロック、ポップ、クラシック、ジャズ
  • トレーニング:筋力、スタミナ

因子を作成するには、factor()関数を使用し、引数としてベクトルを追加します。

# Create a factor
music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"))

# Print the factor
music_genre

結果:

[1] Jazz    Rock    Classic Classic Pop     Jazz    Rock    Jazz
Levels: Classic Jazz Pop Rock

上記の例から、ファクターにはクラシック、ジャズ、ポップ、ロックの4つのレベル(カテゴリ)があることがわかります。

レベルのみを印刷するには、次のlevels()関数を使用します。

music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"))

levels(music_genre)

結果:

[1] "Classic" "Jazz"    "Pop"     "Rock"   

関数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] "Classic" "Jazz"    "Pop"     "Rock"    "Other"

因子の長さ

この関数を使用し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] Classic
Levels: Classic Jazz Pop Rock

アイテム値の変更

特定のアイテムの値を変更するには、インデックス番号を参照してください。

3番目の項目の値を変更します。

music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"))

music_genre[3] <- "Pop"

music_genre[3]

結果:

[1] Pop
Levels: Classic Jazz Pop Rock

ファクターで指定されていない場合は、特定のアイテムの値を変更できないことに注意してください。次の例では、エラーが発生します。

3番目のアイテム( "Classic")の値を、存在しない/事前定義されていないアイテム( "Opera")に変更しようとしています。

music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"))

music_genre[3] <- "Opera"

music_genre[3]

結果:

Warning message:
In `[<-.factor`(`*tmp*`, 3, value = "Opera") :
  invalid factor level, NA generated

ただし、levels引数内ですでに指定している場合は、次のように機能します。

3番目の項目の値を変更します。

music_genre <- factor(c("Jazz", "Rock", "Classic", "Classic", "Pop", "Jazz", "Rock", "Jazz"), levels = c("Classic", "Jazz", "Pop", "Rock", "Opera"))

music_genre[3] <- "Opera"

music_genre[3]

結果:

[1] Opera
Levels: Classic Jazz Pop Rock Opera