本文概述
- 创建有序因子
- 概述视频订购和子集因子。
- 子集因子
- stringsAsFactors
创建有序因子查看在右侧创建的图。看起来不错, 但请看一下条形图的顺序!创建因子时未指定任何顺序, 因此, 当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 AAABBB AABBB A
Levels: AAA <
AA <
A <
BBB
请注意< 指定以前不存在的级别的顺序!
使用说明
- 字符向量credit_rating在你的工作空间中。
- 结合使用credit_rating的unique()函数仅打印字符向量中的唯一单词。这些将成为你的等级。
- 使用factor()创建credit_rating的有序因子, 并将其存储为credit_factor_ordered。请确保按照风险从最小到最大列出级别!
- 绘制credit_factor_ordered并记下条的新顺序。
概述视频订购和子集因子。子集因子你可以像对向量进行子集化一样对子集进行子集化。与往常一样, []是关键!但是, 当你想从分析中删除因子水平时, R具有一些有趣的行为。例如, 如果你想从投资组合中删除AAA债券怎么办?
credit_factor[1] AAA AAABBB AABBB A
Levels: BBB <
A <
AA <
AAAcredit_factor[-1][1] AAABBB AABBB A
Levels: BBB <
A <
AA <
AAA
R删除了第一个位置的AAA键, 但是却留下了AAA级!如果要绘制此图, 最终将在右侧显示条形图。更好的计划是告诉R完全降低AAA级别。为此, 添加drop = TRUE:
credit_factor[-1, drop = TRUE][1] AAABBB AABBB A
Levels: BBB <
A <
AA
那就是你想要的!
使用说明
- 使用相同的数据, 从credit_factor的位置3和7除去” A” 键。现在, 不要使用drop = TRUE。将此分配给keep_level。
- 绘制keep_level。
- 现在, 再次从credit_factor中删除” A” , 但这一次使用drop = TRUE。将此分配给drop_level。
- 绘制drop_level。
str(cash)'data.frame':3 obs. of3 variables:
$ company: Factor w/ 2 levels "A", "B": 1 1 2
$ cash_flow: num100 200 300
$ year: num1 3 2
看看公司栏如何转换成因子? R在创建数据帧时的默认行为是将所有字符转换为因子。这使无数的R新手都感到头疼, 他们想弄清楚为什么他们的字符列无法正常工作, 但你却无法正常工作!你将做好准备!
要关闭此行为:
cash <
- data.frame(company, cash_flow, year, stringsAsFactors = FALSE)str(cash)'data.frame':3 obs. of3 variables:
$ company: chr"A" "A" "B"
$ cash_flow: num100 200 300
$ year: num1 3 2
使用说明
- 已经为你定义了两个变量credit_rating和bond_owners。 bond_owners是某些朋友姓名的字符向量。
- 按此顺序从credit_rating和bond_owners创建一个名为bond的数据框, 并使用stringsAsFactors = FALSE。
- 使用str()确认两列都是字符。
- bond_owners不是有用的因子, 但credit_rating可能是有用的因子!在$债券中使用$创建一个新列, 该列由credit_rating作为正确排序的因子创建。
- 再次使用str()确认credit_factor是有序因子。
推荐阅读
- 了解R中的混淆矩阵
- R中的数据帧简介
- Python中的装饰器
- 论文学习|resnet 论文笔记
- 论文精读系列|【ResNet】ResNet论文学习笔记
- 深度学习知识总结|从RNN到Attention到Transformer系列-Encode-Decode(Seq2Seq)介绍及代码实现
- 深度学习|TextCNN和DPCNN
- Android 系列 5 7使用Google ZXing条形码扫描器扫描条形码或QR码
- android 如何让通知不被清除或者点击后不消失