숫자 변수를 팩터로 구간화하기
당신의 옛 친구 Dan이 AAA_rank라는 AAA 등급 채권 50개의 목록을 보냈습니다. 각 채권에는 그가 생각하는 수익성을 1–100으로 나타낸 숫자가 추가로 붙어 있어요(100이 가장 수익성이 높음). 그의 제안을 더 분석해 보고 싶은데, 먼저 채권을 이 순위에 따라 구간으로 나누어 두면 좋겠습니다. 이렇게 하면 수익성이 낮은 그룹부터 높은 그룹까지 묶어 보다 쉽게 분석할 수 있어요.
이는 숫자 벡터에서 팩터를 만드는 아주 좋은 예입니다. 가장 쉬운 방법은 cut()을 사용하는 것이에요. 아래에서는 Dan의 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]
cut() 함수에서 breaks =를 사용하면 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(___)