R语言-因子的构造-factor函数
参考内容:教程一,
非数值型变量(类别变量和顺序变量)在R语言中称为因子,也称为因子型变量。因子型变量内的所有非重复值,被称为因子水平(levels)。
创建因子
在R语言中可以使用factor()函数和gl()函数来创建因子变量。
(1)使用factor()函数
factor()函数的语法格式为:
f <- factor(x=charactor(), levels, labels=levels, exclude = NA, ordered = is.ordered(x), namax = NA)
其中:
x :数据向量,也就是被转换成因子的向量;最简单的因子构成可以只输入x即可。如以下代码,输出结果中Levels里面去重显示了了A B C D Z,即为因子中的水平。
> f<- c('A','B','C','A','D','A','C','Z')
> fc1<- factor(f)
> fc1
[1] A B C A D A C Z
Levels: A B C D Z
levels:
可选向量,表示因子水平,并且指定了因子中水平的排序。当此参数缺省时,默认为x中包含的所有非重复值。
fc1未定义levels,因此因子中水平排序就按照字母顺序来,但是fc2定义了levels,因子中的顺序就据此调整。
fc3中,levels中因子不包含C,则输出fc3里面C所在的位置就是。
> fc2<- factor(f,levels=c('Z','B','A','D','C'))
> fc2
[1] A B C A D A C Z
Levels: Z B A D C> fc3<- factor(f,levels=c('Z','B','A','D'))
> fc3
[1] A B <NA> A D A <NA> Z
Levels: Z B A D
labels:可选向量,用来给各水平单独命名(也可理解为加标签),缺省时默认取levels的值;fc4定义了labels后,输出结果就是各水平对应的标签。
fc4<- factor(f,levels=c('Z','B','A','D','C'),labels=c(26,2,1,4,3))
fc4
exclude:从x中剔除的水平值,默认为NA值。使用该命令时要注意对应调整labels的长度。
fc5中尝试剔除C,但是报错提示labels的向量长度不对,继而输出默认未定义exclude时候的结果。
fc6中将labels的数量调整为4,输出结果就将C用代替了。
> fc5<- factor(f,levels=c('Z','B','A','D','C'),labels=c(26,2,1,4,3),exclude=c('C'))
Error in factor(f, levels = c("Z", "B", "A", "D", "C"), labels = c(26, : 'labels'不对;长度5应该是一或4
> fc5
[1] A B C A D A C Z
Levels: Z B A D C
> fc6<- factor(f,levels=c('Z','B','A','D','C'),labels=c(26,2,1,3),exclude=c('C'))
> fc6
[1] 1 2 <NA> 1 3 1 <NA> 26
Levels: 26 2 1 3
ordered:逻辑值,因子水平是否有顺序(编码次序),若有取TRUE,默认取FALSE;
fc7未定义ordered,即默认为FALSE,出来的结果没有顺序。fc8定义了,故有顺序。
> fc7<- factor(f,levels=c('Z','B','A','D','C'),labels=c(26,2,1,4,3))
> fc7
[1] 1 2 3 1 4 1 3 26
Levels: 26 2 1 4 3
> fc8<- factor(f,levels=c('Z','B','A','D','C'),labels=c(26,2,1,4,3),ordered=TRUE)
> fc8
[1] 1 2 3 1 4 1 3 26
Levels: 26 < 2 < 1 < 4 < 3
nmax:水平个数的限制。对不起这个我不想研究了就这样吧我要睡觉。。。
总结:这个函数可。太。烦。了!
R语言-因子的构造-factor函数相关推荐
- R语言使用levels()函数来查看factor因子变量水平级别(levels)、使用levels参数重新排序因子水平级别、并可视化柱状图
R语言使用levels()函数来查看factor因子变量水平级别(levels).使用levels参数重新排序因子水平级别.并可视化柱状图 目录
- R语言使用levels()函数来查看factor因子变量水平级别(levels)
R语言使用levels()函数来查看factor因子变量水平级别(levels) 目录 R语言使用levels()函数来查看factor因子变量水平级别(levels)
- predict函数 R_学习|R语言做机器学习的常用函数总结
预测函数:predict() type="prob"判别该量度的昆虫归类为A.B和C的概率:type="response":判别该量度的昆虫的类别: 预测分类的 ...
- R语言使用ggplot2包geom_jitter()函数绘制分组(strip plot,一维散点图)带状图(添加箱图、带缺口的小提琴图、小提琴图)实战
R语言使用ggplot2包geom_jitter()函数绘制分组(strip plot,一维散点图)带状图(添加箱图.带缺口的小提琴图.小提琴图)实战 目录 R语言使用ggplot2包geom_jit ...
- R语言可视化、编写自定义函数可视化水平排序条形图(horizontal bar plot)、自定义图像布局模仿经济学人杂志可视化效果、右侧添加标签数值图像方框、自定义背景色、水平条形图中间线条等
R语言可视化.编写自定义函数可视化水平排序条形图(horizontal bar plot).自定义图像布局模仿经济学人杂志可视化效果.右侧添加标签数值图像方框.自定义背景色.水平条形图中间线条.网格线 ...
- R语言编写自定义描述统计计算函数、使用doBy包的summaryBy函数计算不同分组(group)的描述性统计值(Descriptive statistics by group、样本个数、均值、标准)
R语言编写自定义描述统计计算函数.使用doBy包的summaryBy函数计算不同分组(group)的描述性统计值(Descriptive statistics by group using summa ...
- R语言使用ggplot2包geom_jitter()函数绘制分组(strip plot,一维散点图)带状图(颜色配置:连续色彩、离散色彩、色彩梯度)实战
R语言使用ggplot2包geom_jitter()函数绘制分组(strip plot,一维散点图)带状图(颜色配置:连续色彩.离散色彩.色彩梯度)实战 目录 R语言使用ggplot2包geom_ji ...
- R语言使用ggplot2包geom_jitter()函数绘制分组(strip plot,一维散点图)带状图(自定义色彩、形状)实战
R语言使用ggplot2包geom_jitter()函数绘制分组(strip plot,一维散点图)带状图(自定义色彩.形状)实战 目录 R语言使用ggplot2包geom_jitter()函数绘制分 ...
- R语言使用ggplot2包geom_jitter()函数绘制分组(strip plot,一维散点图)带状图(双分类变量分组:色彩配置、形状配置)实战
R语言使用ggplot2包geom_jitter()函数绘制分组(strip plot,一维散点图)带状图(双分类变量分组:色彩配置.形状配置)实战 目录 R语言使用ggplot2包geom_jitt ...
最新文章
- IDEA编译时出现 Information:java: javacTask: 源发行版 1.8 需要目标发行版 1.8
- CSS3如何实现0.5边框
- node.js require 自动执行脚本 并生成html,利用node.js实现自动生成前端项目组件的方法详解...
- C++ | 内联函数 inline
- virtualbox中安装ubuntu
- 把 mysql 整个加载进内存磁盘中_MySQL 缓冲池 是什么?
- html相对位置置顶,css定位(position)属性怎么用?
- TensorFlow安装中碰到的问题汇总
- 【渝粤教育】国家开放大学2018年秋季 0275-22T内科护理学 参考试题
- 在没有显示器和IP未知的情况下如何使用树莓派
- AI 全自动玩斗地主,靠谱吗?Douzero算法教程
- 思维导图不会画,没关系,实用思维导图模板分享
- cmd命令行常用指令
- VS2015:解决VS2015许可证已过期的问题
- 联想ThinkPad装window10系统
- 台湾中华大学-田庆诚教授-射频放大器-观看笔记 1
- C语言设计流水灯程序,花式流水灯c语言程序.pdf
- Android安卓集成融云推送踩坑
- 三星530换固态硬盘_三星 870QVO 首测:探寻全球容量最大消费级固态硬盘的秘密...
- linux驱动中probe函数是怎么调用的