Вступ до факторів у R

У R ми можемо обробляти різні типи змінних. Ми також можемо вважати фактор типом змінної, яка приймає лише обмежену кількість призначеного значення; така змінна також називається категоричною змінною.

Переваги фактору

  • Він може зберігати як цілі числа, так і рядки

1. У випадку цілих чисел

data = c(5, 6, 6, 6, 7, 5, 7, 6, 7, 5, 6, 7)
factor_data = factor(data)
factor_data

Вихід

2. У разі струн

y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"))
y

Вихід

y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"), levels = c("Car", "Bike", "Cycle", "Truck", "Train"))
y

Вихід

  • Дуже корисно, коли стовпці мають обмежену кількість унікальних значень
Ім'яРежим подорожі
ДжонВантажівка
ШоуАвтомобіль
ЛіЦикл
МусанВелосипед
ЛозиВантажівка
РіяАвтомобіль
МіджЦикл

Тут у нас є обмежена кількість унікальних значень у графі 2.

  • Це допомагає виправити рядки друкарськими помилками (помилки введення тексту).

Як створити фактор у R?

Ми можемо створити фактори, використовуючи кодові фактори ().

Докладніше про фактор ().

factor(x = character(), levels, labels = levels, ordered = is.ordered(x))

Де,

X - це сукупність категоричних даних. Як ми вже обговорювали, це має бути рядок або цілі числа.

Рівні - це набір значень, який може прийняти X. Рівні містять усе унікальне значення, наявне у стовпці (x).

Мітки як назва передбачають маркування даних, доступних у X.

Упорядкований визначає, чи слід упорядковувати рівні в якомусь конкретному порядку.

Приклад №1

y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike"))
y

Вихід:

Приклад №2

y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"), levels = c("Car", "Bike", "Cycle", "Truck", "Train"))
y

Вихід:

У прикладі 2 ми бачимо, що ми також можемо визначити "рівні".

Тепер давайте докладніше розглянемо фактори, використовуючи Str (y).

y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"), levels = c("Car", "Bike", "Cycle", "Truck", "Train"))
y

Вихід:

str(y)

Вихід:

Чітко видно, що фактори зберігаються як цілі вектори, а рівні зберігаються як векторні символи, а окремі елементи фактично зберігаються як індекси.

  • Тепер ми побачимо, як отримати доступ до компонентів фактора

y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"), levels = c("Car", "Bike", "Cycle", "Truck", "Train"))
y

Вихід:

y(2) # helps to access 2nd element

Вихід:

x(c(3, 4)) # helps to access 3rd and 4th element

Вихід

x(-1) # access all except 1st element

Вихід:

  • Тепер ми побачимо, як змінити фактор.

y = factor(c("Bike", "Car", "Cycle", "Truck", "Car", "Bike", "Cycle", "Truck", "Car", "Bike"), levels = c("Car", "Bike", "Cycle", "Truck", "Train"))
y

Вихід:

y(3) = "Truck" #modifty third element
y

Вихід

Додавання до фактору:

y(10) = "Car"
y

Вихід:

Зверніть увагу, що ми не можемо призначити що-небудь фактор, який не є частиною рівнів.

y(4) = "Plane"Warning message:In `(<-.factor`(`*tmp*`, 4, value = "Plane") : invalid factor level, NA generated

Вихід:

У цьому прикладі ми бачимо, що "Площина" не є частиною нашого рівня, отже, ми отримали попереджувальне повідомлення, яке говорить, що "Площина" є недійсним рівнем фактора.

Перетворення даних у фактор

Дані доступні у великій кількості, і важко кожного разу записати повне слово в код, тому для цього ми перетворимо спочатку дані у фактор, а потім перетворимо фактор у символ чи число відповідно до наших зручностей.

Давайте тепер попрацюємо над деякими реальними даними. Там, де у нас є 50 спостережень, і заявники надають свої напрямки роботи. Як і Джон їздить на північ для виконання своїх робочих обов'язків, або Сем подорожує на південь у напрямку своїх робочих обов'язків.

direction <- c("West", "East", "North", "West", "South", "East", "South", "East", "South", "East", "South", "West", "South", "East", "South", "East", "South", "South", "West", "East", "South", "West", "South", "East", "South", "East", "South", "West", "East", "South", "West", "South", "East", "South", "East", "South", "South", "West", "South", "West", "East", "South", "West", "South", "East", "South", "East", "South", "South", "West")
direction.factor = factor(direction)
direction.factor

Вихід:

Рівні: Східний Північ Південний Захід

Тепер, якщо ми хочемо перетворити фактор у векторний символ:

Ми будемо використовувати код as.character ().

as.character(direction.factor)

Вихід:

Або ми хочемо перетворити множник у числовий вектор:

Ми будемо використовувати as.numeric () код.

as.numeric(direction.factor)

Вихід:

Рекомендовані статті

Це посібник з Фактори в Р. Тут ми обговорюємо вступ, Переваги фактору, Як створити множину в R разом з результатами. Ви також можете ознайомитися з іншими запропонованими нами статтями, щоб дізнатися більше -

  1. Іскровий кадр даних SQL
  2. R Типи даних
  3. Багатовимірна база даних
  4. Трубопровід даних AWS

Категорія: