开始使用免费开始使用

创建有序因子

请查看右侧生成的图。图看起来不错,但请注意柱状的顺序!在创建因子时并未指定顺序,因此 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 金融入门

查看课程

练习说明

  • 工作空间中已提供字符向量 credit_rating
  • 使用 unique() 配合 credit_rating,仅打印该字符向量中的唯一词项。它们将作为您的水平(levels)。
  • 使用 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
编辑并运行代码