始める無料で始める

数値変数をファクターに区分けする

あなたの古くからの友人 Dan が、AAA_rank という 50 個の AAA 格付け債のリストを送ってくれました。各債券には、その債券の収益性を彼がどう見ているかを示す 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(___)
コードを編集して実行