R を因数分解するために新しいレベルを追加する方法 (例あり)


次の基本構文を使用して、R の因子変数に新しいレベルを追加できます。

 levels(df$my_factor) <- c(levels(df$my_factor), ' new_level ')

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

例: R の因子に新しいレベルを追加します。

R に、小売店のさまざまな地域での販売数を示す次のデータ フレームがあるとします。

 #create data frame
df <- data. frame (region=factor(c('A', 'B', NA, 'D', NA, 'F')),
                 sales=c(12, 18, 21, 14, 34, 40))

#view data frame
df

  regional sales
1 to 12
2 B 18
3 <NA> 21
4 D 14
5 <NA> 34
6 F 40

領域変数は係数であることに注意してください。

この因子のレベルを視覚化するには、 levels() 関数を使用できます。

 #view factor levels for region
levels(df$region)

[1] “A” “B” “D” “F”

次の構文を使用して、「領域なし」という新しい因子レベルを追加できます。

 #add factor level called 'no region'
levels(df$region) <- c(levels(df$region), ' no region ')

#convert each NA to 'no region'
df$region[is. na (df$region)] <- ' no region '

#view factor levels for region
levels(df$region)

[1] “A” “B” “D” “F” “no region”

因子レベルとして「領域なし」という新しいレベルが追加されました。

必要に応じて、 table()関数を使用して各因子レベルの出現をカウントすることができます。

 #view occurrences of each factor level
table(df$region)

ABDF no region 
1 1 1 1 2 

結果から、「領域なし」という新しい因子レベルがデータ フレームの領域列に 2 回表示されていることがわかります。

追加リソース

次のチュートリアルでは、R で他の一般的なタスクを実行する方法について説明します。

R で因数を数値に変換する方法
Rで因子を文字に変換する方法
R で因子水準を再配置する方法

コメントを追加する

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