数値変数をファクターに区分けする
あなたの古くからの友人 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(___)