不登高山,不知天之高也;不临深溪,不知地之厚也。 ——荀子

这篇文章讲述的是R语言中关于数据框的相关知识。希望这篇R语言文章对您有所帮助!如果您有想学习的知识或建议,可以给作者留言~

Chapter05 | 因子


在R中名义型变量和有序性变量称为因子,factor。这些分类变量的可能值称为一个水平,level,例如good,better,best,都称为一个leve。
由这些水平值构成的向量就称为因子。
所有元素构成因子

因子类型的数据:

  • state.division
  • state.region

因子的应用:

  • 1、计算频数

  • 2、独立性检验

  • 3、相关性检验

  • 4、方差分析

  • 5、主成分分析

  • 6、因子分析

  • 1、频数统计

# cyl这一列可以当作因子类型
> mtcars$cyl[1] 6 6 4 6 8 6 8 4 4 6 6 8 8 8 8 8 8 4 4 4 4 8 8 8 8 4 4 4 8 6 8 4> table(mtcars$cyl)4  6  8
11  7 14
  • 2、如何将向量转换为因子

使用factor()函数

> f <- factor(c("red","red","green","red","blue","green","blue","blue"))
> f
[1] red   red   green red   blue  green blue  blue
Levels: blue green red# 有序性变量也可以作为因子# 不定义levels时levels自动去重
> week <- factor(c("Mon","Fri","Thu","Wed","Mon","Fri","Sun"))
> week
[1] Mon Fri Thu Wed Mon Fri Sun
Levels: Fri Mon Sun Thu Wed# 自定义levels不允许重复
> week <- factor(c("Mon","Fri","Thu","Wed","Mon","Fri","Sun"),order = TRUE,
+                levels = c("Mon","Tue","Wed","Thu","Fri","Sat","Sun"))
> week
[1] Mon Fri Thu Wed Mon Fri Sun
Levels: Mon < Tue < Wed < Thu < Fri < Sat < Sun# 一个向量转换成因子,直接输入到factor()内即可
> fcyl <- factor(mtcars$cyl)
> fcyl[1] 6 6 4 6 8 6 8 4 4 6 6 8 8 8 8 8 8 4 4 4 4 8 8 8 8 4 4 4 8 6 8 4
Levels: 4 6 8
  • 3、向量和因子图形的对比

  • 向量

plot(mtcars$cyl)

  • 因子
plot(fcyl)

  • 4、cut()函数

cut函数可以将连续性变量x分割为n个水平的因子

> num <- c(1:100)
> num[1]   1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18  19  20  21  22[23]  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37  38  39  40  41  42  43  44[45]  45  46  47  48  49  50  51  52  53  54  55  56  57  58  59  60  61  62  63  64  65  66[67]  67  68  69  70  71  72  73  74  75  76  77  78  79  80  81  82  83  84  85  86  87  88[89]  89  90  91  92  93  94  95  96  97  98  99 100# 每隔10个进行分组> cut (num,c(seq(0,100,10)))[1] (0,10]   (0,10]   (0,10]   (0,10]   (0,10]   (0,10]   (0,10]   (0,10]   (0,10]  [10] (0,10]   (10,20]  (10,20]  (10,20]  (10,20]  (10,20]  (10,20]  (10,20]  (10,20] [19] (10,20]  (10,20]  (20,30]  (20,30]  (20,30]  (20,30]  (20,30]  (20,30]  (20,30] [28] (20,30]  (20,30]  (20,30]  (30,40]  (30,40]  (30,40]  (30,40]  (30,40]  (30,40] [37] (30,40]  (30,40]  (30,40]  (30,40]  (40,50]  (40,50]  (40,50]  (40,50]  (40,50] [46] (40,50]  (40,50]  (40,50]  (40,50]  (40,50]  (50,60]  (50,60]  (50,60]  (50,60] [55] (50,60]  (50,60]  (50,60]  (50,60]  (50,60]  (50,60]  (60,70]  (60,70]  (60,70] [64] (60,70]  (60,70]  (60,70]  (60,70]  (60,70]  (60,70]  (60,70]  (70,80]  (70,80] [73] (70,80]  (70,80]  (70,80]  (70,80]  (70,80]  (70,80]  (70,80]  (70,80]  (80,90] [82] (80,90]  (80,90]  (80,90]  (80,90]  (80,90]  (80,90]  (80,90]  (80,90]  (80,90] [91] (90,100] (90,100] (90,100] (90,100] (90,100] (90,100] (90,100] (90,100] (90,100]
[100] (90,100]
10 Levels: (0,10] (10,20] (20,30] (30,40] (40,50] (50,60] (60,70] (70,80] ... (90,100]

如果数字较大,我们可以通过cut()函数进行频数统计,很方便


各位路过的朋友,如果觉得可以学到些什么的话,点个赞再走吧,欢迎各位路过的大佬评论,指正错误,也欢迎有问题的小伙伴评论留言,私信。每个小伙伴的关注都是本人更新博客的动力!!!

R语言入门 Chapter05 | 因子相关推荐

  1. r语言x c(-1 -2),【软件】R语言入门之向量

    "R语言入门开篇,向量(vector)相关知识的介绍" R语言是一款优秀统计学编程语言,本文介绍R语言的几个重要命令,以及R语言中非常重要的一种数据结构-向量(Vector)的相关 ...

  2. R语言入门——常用函数50个

    R语言函数入门50个基本函数 0引言 1.入门准备操作及函数 1.1R版本介绍以及IDE的选择 1.2IDE及其常用的快捷键 2.空间操作以及纠错函数 2.1 ? .??.help.demo.exam ...

  3. <<R语言入门与实践>>读书笔记

    这是一个java小码农的跨界试探,如果你对R感兴趣可以买本R语言入门与实践,因为这里只记录了本人觉得有用的基本知识点.如果你只是看个乐呵,祝你有所收获. 序 数据分析具备三个属性 可再现性 自动化 沟 ...

  4. R语言入门4---R语言流程控制

    ​ 流程控制语句在任何语言中都是非常重要的,通过流程控制语句编程者能够根据业务逻辑在程序中设计合理的循环.分支,实现程序各种各样强大的功能.一般实现任一算法的控制结构都可以分为顺序结构.分支结构.循环 ...

  5. R语言入门——猜数小游戏

    R语言入门--猜数小游戏 题目介绍 使用代码(2种方法) 运行结果 题目介绍 设计一个猜数字的游戏:计算机随机生成一个1~100 之间的整数,然后由用户猜测所产生的随机数.根据用户猜测的情况给出不同提 ...

  6. R语言入门第一集 R语言、RTools、RStudio的简介、安装与使用

    R语言入门第一集!R语言.RTools.RStudio的简介.安装与使用! 一.简介:什么是R语言.RTools.RStudio? R语言 RStudio R 语言的集成开发环境 rtools是什么工 ...

  7. R语言必看推荐:R语言入门经典版(中文版)+R语言实战第二版(中文完整版)

    R语言入门经典(中文版)R for beginners R语言经典教材 第二版 适合初学者 作者:Emmanuel Paradis R 语言实战第二版(中文完整版) R语言实战(第2版)注重实用性,是 ...

  8. R语言入门(二)正态性检验与假设检验

    R语言入门(二)正态性检验与假设检验 value1 <- c(20.51, 25.56, 20.78, 37.27, 36.26, 25.97, 24.62 )value2 <- c(32 ...

  9. 《R语言入门与实践》学习笔记四

    第四天任务: 完成项目玩扑克牌后1/2,并通过项目学会以下技能: 1)从一个数据集中抽取个别数据值. 2)在一个数据集中改变个别数据的取值. 3)编写逻辑测试程序. 4)使用R的缺失值符号NA. -- ...

最新文章

  1. 训练 AI 学会通过复制来构建 AI 系统
  2. MongoDB 安装配置
  3. STM32F1和STM32F2的option byte(选项字节)的作用
  4. Cordys服务器启停脚本
  5. Dynamic CRM 2013学习笔记(四十三)流程6 - 自定义流程活动
  6. 分析对象内部结构,并详解synchronized锁膨胀升级和降级的过程
  7. 批量上传文件及进度显示
  8. 基于java SSM框架的旅游网站设计开发(含源文件)
  9. java switch语句与switch表达式区别及使用
  10. protobuf java 自动反射_protobuf在java应用中通过反射动态创建对象
  11. element表格固定某一行_elementui 表格 固定列+合计行
  12. matlab画直方图_直方图规定化+暗通道去雾 python
  13. Unity 窗口界面的简单介绍
  14. 基于simhash的文本去重原理
  15. Spring Bean的作用域
  16. dw中html是什么,dw中的css是什么意思?
  17. 什么是物联网卡ICCID?如何查看?
  18. 学校心理管理/预测系统
  19. 复音合成器插件-Arturia Pigments 3.0.0 WiN-MAC
  20. Android app包下fragment详细使用

热门文章

  1. 灰流丽能无效融合么_【灰流丽】封印卡片一览
  2. 让程序员心动的微瞬间(亲情篇)
  3. mldonkey基本使用
  4. 计算机用户使用品牌调查报告,品牌电脑市场调查报告
  5. 名词解释:DNS,A记录,子域名,CNAME别名,PTR,MX,TXT,SRV,TTL
  6. 【Qt】 Fractal Designer 5.3 - Help(中文版)
  7. Java里面是先算乘除后算加减,JAVA基础之基本加减乘除计算
  8. 企业信息化由谁主导会更好?
  9. char **和char* []区别,char *和char []区别
  10. UDP搜索IP与端口