Фактор у R: категоріальна змінна та безперервні змінні

Що таке фактор у 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 vector
gender_vector <- c("Male", "Female", "Female", "Male", "Male")
class(gender_vector)
# Convert gender_vector to a factor
factor_gender_vector <-factor(gender_vector)
class(factor_gender_vector)

вихід:

## [1] "character"
## [1] "factor"

Важливо трансформувати a рядок у факторну змінну в R, коли ми виконуємо завдання машинного навчання.

Категориальну змінну в R можна розділити на номінальна категоріальна змінна та порядкова категоріальна змінна.

Номінальна категоріальна змінна

Категоріальна змінна має кілька значень, але порядок не має значення. Наприклад, чоловік чи жінка. Категоріальні змінні в R не мають порядку.

# Create a color vector
color_vector <- c('blue', 'red', 'green', 'white', 'black', 'yellow')
# Convert the vector to factor
factor_color <- factor(color_vector)
factor_color

вихід:

## [1] blue   red    green  white  black  yellow
## Levels: black blue green red white yellow

З factor_color ми не можемо визначити порядок.

Порядкова категоріальна змінна

Порядкові категоричні змінні мають природний порядок. Ми можемо вказати порядок: від найнижчого до найвищого з порядком = TRUE і від найвищого до найнижчого з порядком = FALSE.

приклад:

Ми можемо використовувати зведення для підрахунку значень для кожної факторної змінної в R.

# Create Ordinal categorical vector 
day_vector <- c('evening', 'morning', 'afternoon', 'midday', 'midnight', 'evening')
# Convert `day_vector` to a factor with ordered level
factor_day <- factor(day_vector, order = TRUE, levels =c('morning', 'midday', 'afternoon', 'evening', 'midnight'))
# Print the new variable
factor_day

вихід:

## [1] evening   morning   afternoon midday    
midnight  evening

приклад:

## Levels: morning < midday < afternoon < evening < midnight
# Append the line to above code
# Count the number of occurence of each level
summary(factor_day)

вихід:

##   morning    midday afternoon   evening  midnight
##         1         1         1         2         1

R впорядкував рівень від «ранку» до «опівночі», як зазначено в дужках рівнів.

Безперервні змінні

Безперервні змінні класу є значенням за замовчуванням у R. Вони зберігаються як числові чи цілі. Ми бачимо це з набору даних нижче. mtcars — це вбудований набір даних. Він збирає інформацію про різні типи автомобілів. Ми можемо імпортувати його за допомогою mtcars і перевірити клас змінної mpg, миля на галон. Він повертає числове значення, що вказує на безперервну змінну.

dataset <- mtcars
class(dataset$mpg)

Вихід

## [1] "numeric"