如何在 r 中使用 droplevels 函数(附示例)
R 中的droplevels()函数可用于删除未使用的因子级别。
如果我们想要删除由于向量或数据框的子集而不再使用的因子级别,则此函数特别有用。
该函数使用以下语法:
掉落等级 (x)
其中x是要从中删除未使用的因子级别的对象。
本教程提供了一些如何在实践中使用此功能的示例。
示例 1:删除向量中未使用的因子级别
假设我们创建一个具有五个因子级别的数据向量。接下来,假设我们定义一个新的数据向量,其中仅包含原始五个因子级别中的三个。
#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
虽然新数据只包含三个因子,但我们可以看到它仍然包含原来的五个因子水平。
要删除这些未使用的因子级别,我们可以使用droplevels()函数:
#drop unused factor levels new_data < -droplevels (new_data) #view data new_data [1] 1 2 3 Levels: 1 2 3
新数据现在仅包含三个级别的因素。
示例 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”
尽管新数据库仅包含区域列中的三个因子,但仍包含原始的五个因子级别。如果我们尝试使用这些数据创建绘图,就会产生问题。
要从区域变量中删除未使用的因子级别,我们可以使用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”
现在区域变量仅包含三个级别的因素。
您可以在此页面上找到更多 R 教程。