R语言<dplyr>

dplyr这个包提供让我们更加方便和高效操作数据的方法,一下是一些常见的操作以及说明

数据准备:
nycflights13(R默认没有,需要安装)中的flights
dplyr
首先来看一下flights这个data.frame
这里写图片描述

1.filter
这个函数允许你选择指定的data frame中的子集,第一个参数是data frame,其后的参数是筛选条件

例如筛选flights中month=1&day=1的数据,就可以这样写:
filter(flights, month == 1, day == 1)
等价于:
flights[flights$month == 1 & flights$day == 1, ]

这里写图片描述

也可以这样写,筛选month=1|month=2的记录:

filter(flights, month == 1 | month == 2)

这里写图片描述

2.slice()
通过这个函数选择data frame中的指定的行,这里以选取1到10行数据为例:

slice(flights, 1:10)

这里写图片描述

3.arrange
将data frame按照指定的列名进行排列
按照 dep_time进行升序排列

arrange(flights, dep_time)

按照 dep_time进行降序排列

arrange(flights, desc(dep_time))

这里写图片描述

当然你也可以指定同时按照多列进行排序,例如:

这里写图片描述
4.select
选取指定的列
选取year、month、day列

 select(flights, year, month, day)

选取year到dep_time列:

select(flights, year:dep_time)

选取year、month、day之外的列:

select(flights, -(year:day))

这里写图片描述

5.rename
给指定的列重命名:rename(flights, tail_num = tailnum)
将tailnum重命名为tail_num
这里写图片描述

6.distinct
distinct(flights, tailnum)
查看data frame中不重复的列下的数据

这里写图片描述
这个和unique很相似,但是distinct的效率会更高
7.mutate
添加列

mutate(flights,
  gain = arr_delay - dep_delay,
  speed = distance / air_time * 60)

这里写图片描述
如果你想要马上查看新建的列的内容使用

transmute(flights,
  gain = arr_delay - dep_delay,
  gain_per_hour = gain / (air_time / 60)
)

这里写图片描述
8.summarise()
对数据框调用其它函数进行汇总操作,对dep_delay求平均数

summarise(flights,
  delay = mean(dep_delay, na.rm = TRUE))

9. sample_n() sample_frac()

sample_n()随机选择n条记录
sample_frac()随机选择总数的百分比的记录
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值