순서가 있는 팩터 만들기
오른쪽의 플롯을 확인해 보세요. 보기에는 좋아 보이지만, 막대의 순서를 보세요! 팩터를 만들 때 순서를 지정하지 않았기 때문에, R이 플로팅할 때 수준(levels)을 알파벳순으로 배치했습니다. 이제 신용등급에는 분명한 순서가 있다는 것을 아시죠? 플롯에도 그 순서가 반영되어야 합니다!
다시 한번 상기하면, 위험이 가장 낮은 등급에서 가장 높은 등급으로의 순서는 다음과 같습니다:
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에 사용해 문자 벡터에서 고유한 단어만 출력하세요. 이 값들이 수준(levels)이 됩니다.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