本节书摘来自华章计算机《数据科学:R语言实现》一书中的第3章,第3.9节,作者 丘祐玮(David Chiu),更多章节内容可以访问云栖社区“华章计算机”公众号查看。

3.9 排列数据

排列可以让我们在某种顺序下观察数据,以便更有效地分析数据。在数据库中,我们可以使用order by语句对指定的列进行数据排序。在R中,我们使用函数order和sort来对数据排序。

准备工作

按照3.3节“转换数据类型”教程,把导入数据的每个属性转换成合适的数据类型。同时按照3.2节“重命名数据变量”中的步骤,命名employees和salaries数据集的列名。

实现步骤

执行下列步骤,排列salaries数据。

1.首先,我们可以使用函数sort对数据排序:

2.接着,我们可以看到函数order是如何在同一个输入向量上工作的:

3.为了按照具体的列进行数据框排序,我们首先获取排序索引,然后使用索引获取排序好的数据集:

4.除了按照一个列进行排序,我们也可以按照多个列进行排序:

运行原理

R提供了两种排列数据的方法:一个是sort,另一个是order。函数sort返回排序好的向量作为输出。在第1步中,我们设置了一个含有7个整数的整数向量,然后使用函数sort对向量排序,生成一个排序好的输出。经过排序的向量默认是按升序排列的。但是,我们可以把decreasing指定为TRUE改变序列顺序。另外,函数order返回一个排序索引向量作为输出。我们依然可以指定返回的索引是按升序还是按降序排列。

为了在向量中按照升序或者降序排列元素,我们可以使用函数sort。但是,要对某一列的数据排序,我们应该使用函数order。在我们例子中,我们首先拿到了salary属性中各元素的降序索引,然后获取了按照一个排序索引的salaries数据记录。最后,我们找出了按照薪水排列的salaries记录。除了按照一个属性排列数据记录,我们还可以按照多个属性排序记录。我们只需要在函数order中依次放置salary和from_date属性。

更多技能

我们还可以使用plyr中的函数arrange,按照升序的salary和降序的from_date排列薪水数据:

《数据科学:R语言实现》——3.9 排列数据相关推荐

  1. 数据科学r语言_您应该为数据科学学习哪些语言?

    数据科学r语言 Data science is an exciting field to work in, combining advanced statistical and quantitativ ...

  2. 《数据科学R语言实践:面向计算推理与问题求解的案例研究法》一一2.1 引言...

    本节书摘来自华章计算机<数据科学R语言实践:面向计算推理与问题求解的案例研究法>一书中的第2章,第2.1节,作者:[美] 德博拉·诺兰(Deborah Nolan) 邓肯·坦普·朗(Dun ...

  3. 《数据科学R语言实践:面向计算推理与问题求解的案例研究法》一一2.3 数据清洗和变量格式化...

    本节书摘来自华章计算机<数据科学R语言实践:面向计算推理与问题求解的案例研究法>一书中的第2章,第2.3节,作者:[美] 德博拉·诺兰(Deborah Nolan) 邓肯·坦普·朗(Dun ...

  4. 《数据科学R语言实践:面向计算推理与问题求解的案例研究法》一一2.5 为跨年度的个人参赛选手构造记录...

    本节书摘来自华章计算机<数据科学R语言实践:面向计算推理与问题求解的案例研究法>一书中的第2章,第2.5节,作者:[美] 德博拉·诺兰(Deborah Nolan) 邓肯·坦普·朗(Dun ...

  5. 《数据科学R语言实践:面向计算推理与问题求解的案例研究法》一一2.4 探索所有男选手的跑步时间...

    本节书摘来自华章计算机<数据科学R语言实践:面向计算推理与问题求解的案例研究法>一书中的第2章,第2.4节,作者:[美] 德博拉·诺兰(Deborah Nolan) 邓肯·坦普·朗(Dun ...

  6. 《数据科学R语言实践:面向计算推理与问题求解的案例研究法》一一2.6 对个人跑步时间的变化进行建模...

    本节书摘来自华章计算机<数据科学R语言实践:面向计算推理与问题求解的案例研究法>一书中的第2章,第2.6节,作者:[美] 德博拉·诺兰(Deborah Nolan) 邓肯·坦普·朗(Dun ...

  7. 《数据科学R语言实践:面向计算推理与问题求解的案例研究法》一一 1.1 引言...

    本节书摘来自华章计算机<数据科学R语言实践:面向计算推理与问题求解的案例研究法>一书中的第1章,第1.1节,作者:[美] 德博拉·诺兰(Deborah Nolan) 邓肯·坦普·朗(Dun ...

  8. R语言基于日期范围筛选数据实战(Subset by a Date Range):日期范围之内的数据、日期范围之外的数据、日期之后的数据、日期之前的数据

    R语言基于日期范围筛选数据实战(Subset by a Date Range):日期范围之内的数据.日期范围之外的数据.日期之后的数据.日期之前的数据 目录 R语言基于日期范围筛选数据实战(Subse ...

  9. R语言ggplot2可视化包抑制数据轴使用科学计数法实战

    R语言ggplot2可视化包抑制数据轴使用科学计数法实战 目录 R语言ggplot2可视化包抑制数据轴使用科学计数法实战

  10. 数据分享|R语言主成分PCA、因子分析、聚类对地区经济研究分析重庆市经济指标...

    原文链接:http://tecdat.cn/?p=27515  建立重庆市经济指标发展体系,以重庆市一小时经济圈作为样本,运用因子分析方法进行实证分析,在借鉴了相关评价理论和评价方法的基础上,本文提取 ...

最新文章

  1. 编程求文件file1中数据的平均值,并将其与平均值最接近的数删除
  2. 【 Verilog HDL 】循环语句总结
  3. 三, for循环----文件对象-----函数基础------模块基础
  4. weblogic升级之ddconverter
  5. ​5G+AI时代的高效视频处理
  6. SAP Spartacus应用入口的模块加载单步调试
  7. matlab4.0,matlab 4.0
  8. [css] 怎么IE6下在使用margin:0 auto;无法使其居中?
  9. Android4.4的init进程
  10. Python 返回值、方法和函数的区别
  11. 计算机常见的户动方法有哪些,《360doc个人图书馆》常用操作方法
  12. 如何进行IT项目的需求调研?[读后有得所以转之]
  13. 【Hive】实战之电商平台销售数据探索分析案例(含数据)
  14. 9.5.3 Android Apk 反编译 9.5.4 Android Apk 加密
  15. 华为S6720系列万兆交换机光模块解决方案
  16. 【githubboy】一份开源的小型金融知识图谱构建流程,可帮助你更好的学习与理解知识图谱的使用
  17. 装修、家具设计标准尺寸参考
  18. 国内那些靠谱些的招聘网站
  19. C#-进击Hangfire
  20. java初始化二维数组的三种方式

热门文章

  1. Dispatcher.Invoke方法
  2. [译]通过使用Chrome的开发者工具来学习JavaScript
  3. 不同Logger的使用
  4. c++中explict关键字
  5. 《慕客网:IOS基础入门之Foundation框架初体验》学习笔记 五 NSDicionary + NSMutableDictionary...
  6. 让你每天精神都好好的方法ZT
  7. 堆木板问题——木板能堆无限远而不倒吗?
  8. 500分求助,delphi里用standred来配置dbf文件
  9. C语言函数指针的使用
  10. 微软牛津计划-语音转文本-文本转语音代码和实现