Функцию droplevels() в R можно использовать для удаления неиспользуемых уровней факторов.
Эта функция особенно полезна, если мы хотим отбросить уровни факторов, которые больше не используются из-за подмножества вектора или фрейма данных.
Эта функция использует следующий синтаксис:
уровни падения (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
region sales
1 A 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
region sales
1 A 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 на этой странице .