Вступ до факторів у 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 разом з результатами. Ви також можете ознайомитися з іншими запропонованими нами статтями, щоб дізнатися більше -
- Іскровий кадр даних SQL
- R Типи даних
- Багатовимірна база даних
- Трубопровід даних AWS