23 数据整理 | 您所在的位置:网站首页 › r语言数据合并 › 23 数据整理 |
23 数据整理
23.1 tidyverse系统
tidyverse是一系列用于数据输入输出、数据整理和数据汇总的R扩展包集合, 使用这些包遵循相近的编程风格, 比直接使用基本R编程要更直观、容易理解。 其中readr包用于读入数据, tidyr包用于进行长、宽表转换, dplyr包用于数据整理与汇总, purr包进行map-reduce类操作, 等等。 假设数据以tibble格式保存。 数据集如果用于统计与绘图, 需要满足一定的格式要求, (H. Wickham 2014)称之为整洁数据(tidy data), 基本要求为: 每行一个观测,代表一个样本点(个体), 每列一个变量,代表个体的一个属性, 每个单元格(每行、每列交叉的位置)恰好有一个数据值。 这些变量应该是不同的属性, 而不是同一属性在不同年、月等时间的值分别放到单独的列。数据集经常需要选行子集、选列子集、排序、定义新变量、横向合并、长宽转换等操作, 而且经常会用若干个连续的操作分步处理, R的管道运算符|>和magrittr包的%>%特别适用于这种分步处理。 dplyr包和tidyr包定义了一系列“动词”, 可以用比较自然的方式进行数据整理。 较复杂的分组操作还可以利用purrr包的map类函数。 为了使用这些功能,可以载入tidyverse包, 则magrittr包,readr包,dplyr包和tidyr包都会被自动载入: library(tidyverse)下面的例子中用如下的一个班的学生数据作为例子, 保存在如下data/class.csv文件中: name,sex,age,height,weight Alice,F,13,56.5,84 Becka,F,13,65.3,98 Gail,F,14,64.3,90 Karen,F,12,56.3,77 Kathy,F,12,59.8,84.5 Mary,F,15,66.5,112 Sandy,F,11,51.3,50.5 Sharon,F,15,62.5,112.5 Tammy,F,14,62.8,102.5 Alfred,M,14,69,112.5 Duke,M,14,63.5,102.5 Guido,M,15,67,133 James,M,12,57.3,83 Jeffrey,M,13,62.5,84 John,M,12,59,99.5 Philip,M,16,72,150 Robert,M,12,64.8,128 Thomas,M,11,57.5,85 William,M,15,66.5,112读入为tibble: d.class |
CopyRight 2018-2019 实验室设备网 版权所有 |