一、reshape2包

数据:氮肥和磷肥的用量对植物生长的影响

summary在r语言中 summary r语言_summary在r语言中


summary在r语言中 summary r语言_数据集_02

将上图数据做成txt文件

summary在r语言中 summary r语言_并集_03


summary在r语言中 summary r语言_数据_04

1.melt() 函数,将宽数据转换为长数据

summary在r语言中 summary r语言_summary在r语言中_05


summary在r语言中 summary r语言_summary在r语言中_06

转换NP数据集

summary在r语言中 summary r语言_summary在r语言中_07

2.dcast() 函数,将长数据转换为宽数据

summary在r语言中 summary r语言_数据集_08


summary在r语言中 summary r语言_数据集_09

二、tidyr包

处理整洁的数据:

每一列代表一个变量
每一行代表一个观测
一个观测值对应的一个变量

1.宽数据变为长数据

summary在r语言中 summary r语言_summary在r语言中_10


summary在r语言中 summary r语言_并集_11

2.长数据变为宽数据

summary在r语言中 summary r语言_数据集_12


summary在r语言中 summary r语言_summary在r语言中_13

三、dplyr包

1.filter() 函数,截取满足条件的数据

summary在r语言中 summary r语言_并集_14

2.distinct() 函数,用于去除重复行

summary在r语言中 summary r语言_并集_15

3.slice() 函数,用于切出任意行

summary在r语言中 summary r语言_summary在r语言中_16

4.sample_n() 函数,随机取样

summary在r语言中 summary r语言_并集_17

5.sample_frac() 函数,按比例随机抽样

summary在r语言中 summary r语言_数据集_18

6.arrange() 函数,对某一指标进行排序

summary在r语言中 summary r语言_summary在r语言中_19

倒序

dplyr::arrange(iris,desc(Sepal.length))

7.select() 函数,对数据取子集

8.summarise() 函数,对数据进行统计

summary在r语言中 summary r语言_数据_20

链式操作符 %>%

用于实现将一个函数的输出传递给下一个函数,作为下一个函数的输入

1.取出mtcars数据集的11-20行

summary在r语言中 summary r语言_数据_21

2.对鸢尾花数据集的特征进行分组

summary在r语言中 summary r语言_数据_22


summary在r语言中 summary r语言_summary在r语言中_23

3.对鸢尾花数据集特征的花萼宽度进行分组统计

summary在r语言中 summary r语言_数据_24

4.mutate() 函数,添加新的一列(花萼和花瓣长度的总和)

summary在r语言中 summary r语言_数据_25

对表格进行整合

两个数据表

summary在r语言中 summary r语言_数据集_26


1.左连接(以左边的表为基础)

summary在r语言中 summary r语言_summary在r语言中_27


2.右连接

summary在r语言中 summary r语言_summary在r语言中_28


3.全连接(并集)

summary在r语言中 summary r语言_数据集_29


4.半连接(取出交集)

summary在r语言中 summary r语言_数据_30


5.反连接(取出补集)

summary在r语言中 summary r语言_数据集_31

对 mtcars 进行数据集合操作

#添加一个名字列
  mtcars <- mutate(mtcars,Model = rownames(mtcars))
  #截取两个数据集1-20条和10-30条
  first <- slice(mtcars,1:20)
  second <- slice(mtcars,10:30)
  #取两者交集
  intersect(first,second)
  #取并集
  dplyr::union_all(first,second)
  #取非冗余的并集
  dplyr::union(first,second)
  #取 first 的补集
  setdiff(first,second)
  #取 second 的补集
  setdiff(second,first)