Рівні
Повернемося до позначки Levels
: ви часто бачите її під час роботи з результатами факторів. Що робити, якщо потрібно переглянути всі можливі значення, які може приймати фактор?
Щоб відобразити всі рівні фактора, тобто унікальні категоріальні значення, які він містить, використовуйте функцію levels()
із факторною змінною як аргументом. Розглянемо приклад:
# Vector of currencies as factor curr_f <- factor(c('USD', 'EUR', 'AUD', 'NOK', 'CHF', 'EUR', 'AUD', 'EUR')) # Output all the levels levels(curr_f)
Цікаво, що ці рівні можна змінювати без зміни самих даних. Однак іноді зустрічаються упорядковані факторні змінні. Наприклад, зріст: його можна класифікувати як високий, середній або низький. Такий порядок означає: високий > середній > низький.
R дозволяє це, якщо вказати параметр ordered
як TRUE
. Для текстових значень це впорядковує змінні за алфавітом, а для числових — за числовим порядком.
Хоча числове впорядкування зазвичай є простим і бажаним, алфавітне впорядкування може бути недоречним. Щоб встановити конкретний порядок, потрібно також задати параметр labels
як вектор, що містить ваші значення у зростаючому порядку.
Розглянемо приклад для наочності:
# Factors with no ordering factor(c('USD', 'EUR', 'AUD', 'NOK', 'CHF', 'EUR', 'AUD', 'EUR')) # Factors with ordering without labels parameter factor(c('USD', 'EUR', 'AUD', 'NOK', 'CHF', 'EUR', 'AUD', 'EUR'), ordered = T) # Factors with ordering with labels parameter factor(c('USD', 'EUR', 'AUD', 'NOK', 'CHF', 'EUR', 'AUD', 'EUR'), ordered = T, labels = c('USD', 'EUR', 'CHF', 'AUD', 'NOK'))
Спостереження за різницею є пізнавальним. Спробуйте самостійно!
Swipe to start coding
Припустимо, у вас є вектор оцінок від 'A' до 'F'. Ваше завдання — перетворити його на упорядкований фактор із послідовністю 'F < D < C < B < A':
- Перетворіть вектор
grades
на фактор, зберігаючи необхідний порядок, і збережіть його у зміннійgrades_f
. - Виведіть на екран всю змінну
grades_f
.
Рішення
Дякуємо за ваш відгук!