R で droplevels 関数を使用する方法 (例付き)


R のdroplevels()関数を使用すると、未使用の因子水準を削除できます。

この関数は、ベクトルまたはデータ フレームのサブセットにより使用されなくなった因子水準を削除する場合に特に便利です。

この関数は次の構文を使用します。

ドロップレベル (x)

ここで、x は、未使用の因子水準を削除するオブジェクトです。

このチュートリアルでは、この機能を実際に使用する方法の例をいくつか示します。

例 1: ベクトル内の未使用の因子水準を削除する

5 つの因子レベルを持つデータ ベクトルを作成するとします。次に、元の 5 つの因子レベルのうち 3 つだけを含む新しいデータ ベクトルを定義するとします。

 #define data with 5 factor levels
data <- factor (c(1, 2, 3, 4, 5))

#define new data as original data minus 4th and 5th factor levels
new_data <- data[-c(4, 5)]

#view new data
new_data

[1] 1 2 3
Levels: 1 2 3 4 5

新しいデータには 3 つの因子のみが含まれていますが、元の 5 つの因子水準がまだ含まれていることがわかります。

これらの未使用の因子水準を削除するには、 droplevels()関数を使用できます。

 #drop unused factor levels
new_data < -droplevels (new_data)

#view data
new_data

[1] 1 2 3
Levels: 1 2 3

新しいデータには 3 レベルの因子のみが含まれています。

例 2: データ フレーム内の未使用の因子水準を削除する

変数の 1 つが 5 水準因子であるデータ フレームを作成するとします。次に、これらの因子水準のうち 2 つを削除する新しいデータ フレームを定義するとします。

 #create data frame
df <- data. frame (region= factor (c('A', 'B', 'C', 'D', 'E')),
                 sales = c(13, 16, 22, 27, 34))

#view data frame
df

  regional sales
1 to 13
2 B 16
3 C 22
4 D 27
5 E 34

#define new data frame
new_df <- subset (df, sales < 25)

#view new data frame
new_df

  regional sales
1 to 13
2 B 16
3 C 22

#check levels of region variable
levels (new_df$region)

[1] “A” “B” “C” “D” “E”

新しいデータベースの地域列には 3 つの因子のみが含まれていますが、元の 5 つの因子水準も含まれています。このデータを使用してプロットを作成しようとすると問題が発生します。

未使用の因子水準を領域変数から削除するには、 droplevels()関数を使用できます。

 #drop unused factor levels
new_df$region <- droplevels (new_df$region)

#check levels of region variable
levels (new_df$region)

[1] “A” “B” “C”

これで、領域変数には 3 レベルの因子のみが含まれます。

このページでは、その他の R チュートリアルを見つけることができます。

コメントを追加する

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