Создание упорядоченного фактора
Посмотрите на график справа. Он выглядит неплохо, однако обратите внимание на порядок столбцов! При создании фактора порядок уровней не был задан, поэтому R расположил их в алфавитном порядке. Между тем кредитные рейтинги имеют чёткую иерархию — и ваши графики должны её отражать!
Для справки: порядок кредитных рейтингов от наименее рискованных к наиболее рискованным:
AAA, AA, A, BBB, BB, B, CCC, CC, C, D
Чтобы упорядочить фактор, воспользуйтесь одним из двух способов.
При создании фактора укажите ordered = TRUE и перечислите уникальные уровни от наименьшего к наибольшему:
credit_rating <- c("AAA", "AA", "A", "BBB", "AA", "BBB", "A")
credit_factor_ordered <- factor(credit_rating, ordered = TRUE,
levels = c("AAA", "AA", "A", "BBB"))
Для уже существующего неупорядоченного фактора, например credit_factor, используйте функцию ordered():
ordered(credit_factor, levels = c("AAA", "AA", "A", "BBB"))
Оба способа дают одинаковый результат:
credit_factor_ordered
[1] AAA AA A BBB AA BBB A
Levels: AAA < AA < A < BBB
Обратите внимание на символ <, который указывает порядок уровней — раньше его не было!
Это упражнение является частью курса
Введение в R для финансов
Инструкции к упражнению
- Символьный вектор
credit_ratingуже находится в вашем рабочем пространстве. - Примените функцию
unique()к векторуcredit_rating, чтобы вывести только уникальные значения. Они станут уровнями вашего фактора. - С помощью функции
factor()создайте упорядоченный фактор дляcredit_ratingи сохраните его в переменнуюcredit_factor_ordered. Не забудьте указать уровни от наименее рискованных к наиболее рискованным! - Постройте график для
credit_factor_orderedи оцените новый порядок столбцов.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Use unique() to find unique words
unique(___)
# Create an ordered factor
credit_factor_ordered <- factor(___, ordered = ___, levels = c(___))
# Plot credit_factor_ordered