1. 学ぶ
  2. /
  3. コース
  4. /
  5. 金融のためのR入門

Connected

演習

順序付き因子を作成する

右側のプロットを見てみましょう。見た目は良いのですが、バーの順序に注目です。因子を作成するときに順序を指定しなかったため、R は水準をアルファベット順に並べて描画しています。ここまでで、クレジット格付けには本来の順序があると分かっていますよね。グラフにもその順序を反映させましょう。

おさらいとして、クレジット格付けの順序は、最もリスクが低いものから最もリスクが高いものへ次のようになります。

AAA, AA, A, BBB, BB, B, CCC, CC, C, D

因子に順序を付けるには、2つの方法があります。

因子を作成するときに 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

以前はなかった < が表示されており、水準の順序が指定されたことが分かります。

指示

100 XP
  • 文字ベクトル credit_rating はワークスペースに用意されています。
  • unique() を credit_rating に使って、ベクトル内のユニークな語だけを出力してください。これが水準になります。
  • factor() を使って、credit_rating の順序付き因子を作成し、credit_factor_ordered に保存してください。水準はリスクが低い順から高い順になるように並べましょう。
  • credit_factor_ordered をプロットして、バーの新しい順序を確認してください。