R でカテゴリ変数を作成する方法 (例付き)


次の構文を使用して、R でカテゴリカル変数を作成できます。

 #create categorical variable from scratch
cat_variable <- factor(c(' A ', ' B ', ' C ', ' D '))

#create categorical variable (with two possible values) from existing variable
cat_variable <- as. factor ( ifelse (existing_variable < 4, 1, 0))

#create categorical variable (with multiple possible values) from existing variable
cat_variable <- as. factor ( ifelse (existing_variable < 3, ' A ',
                          ifelse (existing_variable < 4, ' B ', 
                          ifelse (existing_variable < 5, ' C ', 
                          ifelse (existing_variable < 6, ' D ',0)))))

次の例は、この構文を実際に使用する方法を示しています。

例 1: カテゴリ変数を最初から作成する

次のコードは、カテゴリ変数を最初から作成する方法を示しています。

 #create data frame
df <- data. frame (var1=c(1, 3, 3, 4, 5),
                 var2=c(7, 7, 8, 3, 2),
                 var3=c(3, 3, 6, 10, 12),
                 var4=c(14, 16, 22, 19, 18))

#view data frame
df

var1 var2 var3 var4
1 1 7 3 14
2 3 7 3 16
3 3 8 6 22
4 4 3 10 19
5 5 2 12 18

#add categorical variable named 'type' to data frame
df$type <- factor(c(' A ', ' B ', ' B ', ' C ', ' D '))

#view updated data frame
df

var1 var2 var3 var4 type
1 1 7 3 14 A
2 3 7 3 16 B
3 3 8 6 22 B
4 4 3 10 19 C
5 5 2 12 18 D

例 2: 既存の変数からカテゴリカル変数 (2 つの値を持つ) を作成する

次のコードは、データ フレーム内の既存の変数からカテゴリカル変数を作成する方法を示しています。

 #create data frame
df <- data. frame (var1=c(1, 3, 3, 4, 5),
                 var2=c(7, 7, 8, 3, 2),
                 var3=c(3, 3, 6, 10, 12),
                 var4=c(14, 16, 22, 19, 18))

#view data frame
df

var1 var2 var3 var4
1 1 7 3 14
2 3 7 3 16
3 3 8 6 22
4 4 3 10 19
5 5 2 12 18

#add categorical variable named 'type' using values from 'var4' column
df$type <- as. factor ( ifelse (df$var1 < 4, 1, 0))

#view updated data frame
df

var1 var2 var3 var4 type
1 1 7 3 14 1
2 3 7 3 16 1
3 3 8 6 22 1
4 4 3 10 19 0
5 5 2 12 18 0

ifelse()ステートメントを使用して、次の値を取る「type」という新しいカテゴリ変数を作成しました。

  • 列「var1」の値が 4 未満の場合は1
  • 列「var1」の値が 4 以上の場合は0

例 3:既存の変数からカテゴリカル変数(複数の値を持つ)を作成する

次のコードは、データ フレーム内の既存の変数からカテゴリカル変数 (複数の値を持つ) を作成する方法を示しています。

 #create data frame
df <- data. frame (var1=c(1, 3, 3, 4, 5),
                 var2=c(7, 7, 8, 3, 2),
                 var3=c(3, 3, 6, 10, 12),
                 var4=c(14, 16, 22, 19, 18))

#view data frame
df

var1 var2 var3 var4
1 1 7 3 14
2 3 7 3 16
3 3 8 6 22
4 4 3 10 19
5 5 2 12 18

#add categorical variable named 'type' using values from 'var4' column
df$type <- as. factor ( ifelse (df$var1 < 3, ' A ',
                     ifelse (df$var1 < 4, ' B ', 
                     ifelse (df$var1 < 5, ' C ', 
                     ifelse (df$var1 < 6, ' D ', ' E ')))))

#view updated data frame
df

var1 var2 var3 var4 type
1 1 7 3 14 A
2 3 7 3 16 B
3 3 8 6 22 B
4 4 3 10 19 C
5 5 2 12 18 D

ifelse()ステートメントを使用して、次の値を取る「type」という新しいカテゴリ変数を作成しました。

  • A ‘ 列 ‘var1’ の値が 3 未満の場合。
  • それ以外の場合、列 ‘var1’ の値が 4 未満の場合は ‘ B ‘。
  • それ以外の場合、列 ‘var1’ の値が 5 未満の場合は ‘ C ‘。
  • それ以外の場合、列 ‘var1’ の値が 6 未満の場合は ‘ D ‘。
  • それ以外の場合は、「 E 」。

追加リソース

Rでダミー変数を作成する方法
Rで因子を文字に変換する方法
Rで文字を数値に変換する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です