Разбиение числовой переменной на группы с помощью фактора
Ваш старый знакомый Дэн прислал вам список из 50 облигаций с рейтингом AAA — AAA_rank. Каждой облигации присвоено дополнительное число от 1 до 100, отражающее предполагаемую доходность (100 — наиболее доходная). Вы хотите провести дальнейший анализ его предложений, но сначала было бы удобно сгруппировать облигации по рейтингу. Это позволит разбить их на группы — от наименее доходных к наиболее доходным — и упростить анализ.
Это отличный пример создания фактора из числового вектора. Проще всего воспользоваться функцией cut(). Ниже показано, как рейтинг Дэна от 1 до 100 разбивается на 5 равных групп. Обратите внимание: ( в уровнях фактора означает, что соседнее число не включается в группу, а ] означает, что оно включается.
head(AAA_rank)
[1] 31 48 100 53 85 73
AAA_factor <- cut(x = AAA_rank, breaks = c(0, 20, 40, 60, 80, 100))
head(AAA_factor)
[1] (20,40] (40,60] (80,100] (40,60] (80,100] (60,80]
Levels: (0,20] (20,40] (40,60] (60,80] (80,100]
Аргумент breaks = функции cut() позволяет задать границы групп, по которым R разобьёт ваши данные!
Это упражнение является частью курса
Введение в R для финансов
Инструкции к упражнению
- Вместо 5 групп создайте всего 4. В аргументе
breaks =укажите вектор от 0 до 100, где каждый элемент отстоит от предыдущего на 25. Сохраните результат в переменнуюAAA_factor. - Названия 4 групп пока недостаточно информативны. С помощью
levels()переименуйте уровни в"low","medium","high"и"very_high"— именно в таком порядке. - Выведите обновлённый
AAA_factorна экран. - Постройте график
AAA_factor, чтобы наглядно представить результат!
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Create 4 buckets for AAA_rank using cut()
AAA_factor <- cut(x = ___, breaks = ___)
# Rename the levels
# Print AAA_factor
# Plot AAA_factor
plot(___)