Tạo factor có thứ tự
Xem biểu đồ ở bên phải. Trông ổn đấy, nhưng hãy nhìn thứ tự các cột! Bạn chưa chỉ định thứ tự khi tạo factor, nên khi R vẽ, nó sắp xếp các mức theo thứ tự chữ cái. Đến giờ, bạn biết rằng xếp hạng tín nhiệm có thứ tự riêng, và biểu đồ của bạn nên phản ánh điều đó!
Nhắc lại, thứ tự xếp hạng tín nhiệm từ ít rủi ro đến nhiều rủi ro là:
AAA, AA, A, BBB, BB, B, CCC, CC, C, D
Để sắp xếp factor, có hai cách.
Khi tạo factor, đặt ordered = TRUE và liệt kê các mức (levels) duy nhất theo thứ tự từ thấp đến cao:
credit_rating <- c("AAA", "AA", "A", "BBB", "AA", "BBB", "A")
credit_factor_ordered <- factor(credit_rating, ordered = TRUE,
levels = c("AAA", "AA", "A", "BBB"))
Với một factor chưa có thứ tự như credit_factor, dùng hàm ordered():
ordered(credit_factor, levels = c("AAA", "AA", "A", "BBB"))
Cả hai cách đều cho kết quả:
credit_factor_ordered
[1] AAA AA A BBB AA BBB A
Levels: AAA < AA < A < BBB
Lưu ý ký hiệu < thể hiện thứ tự của các mức — trước đó chưa có!
Bài tập này là một phần của khóa học
Giới thiệu R cho Tài chính
Hướng dẫn bài tập
- Vector ký tự
credit_ratingđã có trong workspace của bạn. - Dùng hàm
unique()vớicredit_ratingđể in ra các từ duy nhất trong vector ký tự. Đây sẽ là các mức (levels) của bạn. - Dùng
factor()để tạo một factor có thứ tự chocredit_ratingvà lưu vàocredit_factor_ordered. Hãy liệt kê các mức theo thứ tự rủi ro từ thấp đến cao! - Vẽ
credit_factor_orderedvà quan sát thứ tự mới của các cột.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Use unique() to find unique words
unique(___)
# Create an ordered factor
credit_factor_ordered <- factor(___, ordered = ___, levels = c(___))
# Plot credit_factor_ordered