当前位置: 首页 > 数据分析师 > 数据分析师实战技能 > 数据分析师数据分析 > R语言dplyr包中窗口函数应用!

R语言dplyr包中窗口函数应用!

发布时间:2020年09月28日 05:23:23 来源: 点击量:527

【摘要】R语言中的dplyr包非常神奇,里面包含很多的函数,今天我们就来介绍下窗口函数的应用。 窗口函数应用 mtcars %>% group_by(cyl) %>%

R语言中的dplyr包非常神奇,里面包含很多的函数,今天我们就来介绍下窗口函数的应用。


窗口函数应用


mtcars %>% group_by(cyl) %>% mutate(rank    = min_rank(desc(mpg)))

mtcars %>% group_by(cyl) %>% mutate(mpg_max = max(mpg))

原来的明细还保留,同时每个分组的统计值算出来了,是不是很方便

1.2 批量操作

同时若你嫌麻烦一个个地对变量进行操作,还可以使用mutate_each函数对数据框中的变量批量操作,通过调整funs(即functions)和vars(variables)参数控制functions的数量,以及参与变形的variables,这里控制variables的技巧与select函数相似。

#对每个变量进行排名

mtcars%>%mutate_each(funs(dense_rank)) 

 mpg cyl disp hp drat wt qsec vs am gear carb

1   16   2   13 11   16  9     6   1   2   2    4

2   16   2   13 11   16 12   10  1  2    2    4

3   19   1    6  6    15  7     22  2  2    2    1

4   17   2   16 11    5 16    24  2  1    1    1

5   13   3   23 15    6 18   10   1  1    1    2

#对disp的变量进行排名

mtcars%>%mutate_each(funs(dense_rank,min_rank),disp)

   mpg cyl  disp  hp drat    wt  qsec vs am gear carb dense_rank min_rank

1  21.0   6 160.0 110 3.90 2.620 16.46  0  1    4    4         13       13

2  21.0   6 160.0 110 3.90 2.875 17.02  0  1    4    4         13       13

3  22.8   4 108.0  93 3.85 2.320 18.61  1   1    4    1          6          6

4  21.4   6 258.0 110 3.08 3.215 19.44  1  0    3    1         16       18

5  18.7   8 360.0 175 3.15 3.440 17.02  0  0    3    2         23       27

6  18.1   6 225.0 105 2.76 3.460 20.22  1  0    3    1         15       17

7  14.3   8 360.0 245 3.21 3.570 15.84  0  0    3    4         23        27

#对除了disp的变量进行排名

mtcars%>%mutate_each(funs(dense_rank,min_rank),-disp)

2、transmute

返回值中不包含原数据集变量,只保留计算转换后的变量。

mtcars%>%mutate(wt_log=log(wt))

mtcars%>%transmute(wt_log=log(wt))

mtcars %>%mutate(displ_l = disp / 61.0237)

mtcars %>%transmute(displ_l = disp / 61.0237)

分享到: 编辑:wangmin

就业培训申请领取
您的姓名
您的电话
意向课程
点击领取

环球青藤

官方QQ

扫描上方二维码或点击一键加群,免费领取大礼包,加群暗号:青藤。 一键加群

绑定手机号

应《中华人民共和国网络安全法》加强实名认证机制要求,同时为更加全面的体验产品服务,烦请您绑定手机号.

预约成功

本直播为付费学员的直播课节

请您购买课程后再预约

环球青藤移动课堂APP 直播、听课。职达未来!

安卓版

下载

iPhone版

下载
环球青藤官方微信服务平台

刷题看课 APP下载

免费直播 一键购课

代报名等人工服务

课程咨询 学员服务 公众号

扫描关注微信公众号

APP

扫描下载APP

返回顶部