Как использовать функцию droplevels в R (с примерами)


Функцию 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 на этой странице .

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.