dplyr包简单介绍

#########dplyr####专注接受dataframe对象,大幅度提高了速度
library(dplyr)
library(Lahman)
library(hflights)
###将过长过大的数据集转换为显示更友好的tbl_df类型
hflights_df=tbl_df(hflights)
#基本操作
###筛选:filter()
#按给定的逻辑判断筛选出符合要求的子数据集,类似于:subset()函数
filter(hflights_df,Month==1,DayofMonth==1)
##R自带函数实现
hflights[hflights$Month==1&hflights$DayofMonth==1,]
##注意:表示AND时要使用&而避免&&

1.2排列:arrange()
#安给定的列名依次对行进行排序
arrange(hflights_df, DayofMonth, Month, Year)

#对列名家desc()进行倒序
arrange(hflights_df,desc(ArrTime))

####选择select()
##用列名做参数来选择子数据集
select(hflights_df,Year,Month,DayOfWeek)
select(hflights_df,Year:DayOfWeek)
select(hflights_df,-(Year:DayOfWeek))
#同样类似R自带的subset()函数

#################变形 mutate()
#对已有列进行数据运算并添加为新列
mutate(hflights_df,gain=ArrDelay-DepDelay)
#类似于transform(hflights_df,gain=ArrDelay-DepDelay),优势在于可以在用同一语句中对刚增加的列进行操作
mutate(hflights_df,gain=ArrDelay-DepDelay,gain_per=gain/(AirTime/60))


################汇总summarise()
#对数据框调用其他函数进行汇总操作,返回一维的结果:
summarise(hflights_df,delay=mean(DepDelay,na.rm = T))




####分组动作group_by()
plans=group_by(hflights_df,TailNum)
delay <- summarise(plans, 
                   count = n(), 
                   dist = mean(Distance, na.rm = TRUE), 
                   delay = mean(ArrDelay, na.rm = TRUE))
delay <- filter(delay, count > 20, dist < 2000)

library(ggplot2)
ggplot(delay, aes(dist, delay)) + 
  geom_point(aes(size = count), alpha = 1/2) + 
  geom_smooth() + 
  scale_size_area()


#############
n()  #计算个数
n_distinct():计算x中唯一值的个数
first(),last(),nth(x,n)



#########################连接符%.%
###包里新引进了一个操作符。使用时把数据名作为开头,然后依次对此数据进行多部操作
Batting%.%group_by(playerID)%.%summarise(totao=sum(G))%.%arrange(desc(totao))%.%head(5)
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值