开始使用免费开始使用

将数值变量分桶为因子

您的老朋友 Dan 给您发来一个包含 50 只 AAA 评级债券的列表 AAA_rank。每只债券还带有一个 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(___)
编辑并运行代码