Что такое фактор в R?
Фактор в R - это переменная, используемая для категоризации и хранения данных, имеющая ограниченное количество различных значений. Он хранит данные как вектор целочисленных значений. Фактор в R также известен как категориальная переменная, которая хранит как строковые, так и целочисленные значения данных как уровни. Фактор в основном используется в статистическом моделировании и исследовательском анализе данных с R.
В наборе данных мы можем выделить два типа переменных: категориальные и непрерывные .
- В описательной статистике для категориальных переменных в R значение ограничено и обычно основано на конкретной конечной группе. Например, категориальной переменной в R могут быть страны, год, пол, род занятий.
- Однако непрерывная переменная может принимать любые значения, от целых до десятичных. Например, мы можем узнать выручку, цену акции и т. Д.
Категориальные переменные
Категориальные переменные в R сохраняются в множитель. Давайте проверим приведенный ниже код, чтобы преобразовать символьную переменную в факторную переменную в R. Символы не поддерживаются в алгоритме машинного обучения, и единственный способ - преобразовать строку в целое число.
Синтаксис
factor(x = character(), levels, labels = levels, ordered = is.ordered(x))
Аргументы:
- x : вектор категориальных данных в R. Должен быть строкой или целым числом, а не десятичным.
- Уровни : вектор возможных значений, принимаемых x. Это необязательный аргумент. Значение по умолчанию - уникальный список элементов вектора x.
- Ярлыки : добавьте ярлык к категориальным данным x в R. Например, 1 может принимать ярлык «мужской», а 0 - «женский».
- заказанный : Определите, должны ли уровни быть упорядочены по категориальным данным в R.
Пример:
Создадим факторный фрейм данных.
# Create gender vectorgender_vector <- c("Male", "Female", "Female", "Male", "Male")class(gender_vector)# Convert gender_vector to a factorfactor_gender_vector <-factor(gender_vector)class(factor_gender_vector)
Выход:
## [1] "character"## [1] "factor"
Когда мы выполняем задачу машинного обучения, важно преобразовать строку в факторную переменную в R.
Категориальную переменную в R можно разделить на номинальную категориальную переменную и порядковую категориальную переменную .
Номинальная категориальная переменная
Категориальная переменная имеет несколько значений, но порядок не имеет значения. Например, мужчина или женщина. Категориальные переменные в R не упорядочиваются.
# Create a color vectorcolor_vector <- c('blue', 'red', 'green', 'white', 'black', 'yellow')# Convert the vector to factorfactor_color <- factor(color_vector)factor_color
Выход:
## [1] blue red green white black yellow## Levels: black blue green red white yellow
По фактору_цвета мы не можем определить порядок.
Порядковая категориальная переменная
Порядковые категориальные переменные имеют естественный порядок. Мы можем указать порядок от самого низкого до самого высокого с помощью order = TRUE и от самого высокого до самого низкого с помощью order = FALSE.
Пример:
Мы можем использовать сводку для подсчета значений для каждой факторной переменной в R.
# Create Ordinal categorical vectorday_vector <- c('evening', 'morning', 'afternoon', 'midday', 'midnight', 'evening')# Convert `day_vector` to a factor with ordered levelfactor_day <- factor(day_vector, order = TRUE, levels =c('morning', 'midday', 'afternoon', 'evening', 'midnight'))# Print the new variablefactor_day
Выход:
## [1] evening morning afternoon middaymidnight evening
Пример:
## Levels: morning < midday < afternoon < evening < midnight# Append the line to above code# Count the number of occurence of each levelsummary(factor_day)
Выход:
## morning midday afternoon evening midnight## 1 1 1 2 1
R упорядочил уровень от «утра» до «полуночи», как указано в скобках уровней.
Непрерывные переменные
Переменные непрерывного класса являются значением по умолчанию в R. Они хранятся как числовые или целочисленные. Мы можем видеть это из набора данных ниже. mtcars - это встроенный набор данных. Он собирает информацию о разных типах автомобилей. Мы можем импортировать его, используя mtcars, и проверить класс переменной mpg, миля на галлон. Он возвращает числовое значение, указывающее на непрерывную переменную.
dataset <- mtcarsclass(dataset$mpg)
Выход
## [1] "numeric"