建立有序因子
看看右側產生的圖。看起來不錯,不過注意長條的順序!建立因子時你沒有指定順序,所以 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 for Finance 入門
練習說明
- 工作空間中已提供字元向量
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