dplyr专注处理dataframe对象, 并提供更稳健的与其它数据库对象间的接口。

一、5个关键的数据处理函数:
select() 返回列的子集
filter() 返回行的子集
arrange() 根据一个或多个变量对行排序。
mutate() 使用已有数据创建新的列
summarise() 对各个群组汇总计算并返回一维结果。
Tips:
1、select()
Dplyr包有下列辅助函数,用于在select()中选择变量:
starts_with("X"): 以 "X"开头的变量名
ends_with("X"): 以 "X"结束的变量名
contains("X"): 包含 "X"的变量名
matches("X"): 匹配正则表达式“x"的变量名
num_range("x", 1:5): 变量名为 x01, x02, x03, x04 and x05
one_of(x): 出现在字符向量x中的所有变量名
在select()中直接使用列时不需要引用"",但使用上述辅助函数时必须引用""。
2、filter()
R 有一系列逻辑表达式可用于filter()中:
x < y;x <= y;x == y;x != y;x >= y;x > y;x %in% c(a, b, c)
示例:
filter(df, a > 0, b > 0)
filter(df, !is.na(x))
3、arrange()
arrange()默认从小到大排序,在arrange()中使用desc()作用于变量可以使之从大到小排序.
4、mutate()
mutate()允许在同一次调用中使用新变量来创建下一个变量,例如:
mutate(my_df, x = a + b, y = x + c)
5、 summarise()
R的下列聚合函数可用于 summarise()中
dplyr包自身提供了一些有用的聚合函数:
二、管道函数%>%
dplyr包中特有的管道函数%>%,将上一个函数的输出作为下一个函数的输入。
%>%运算符允许从参数列表中提取函数的第一个参数,并放置在%>%前面。
下面两条指令相等:
mean(c(1, 2, 3, NA), na.rm = TRUE)
c(1, 2, 3, NA) %>% mean(na.rm = TRUE)
三、分组函数group_by()
对数据集定义群组。然后可对各个群组分别进行汇总统计。
通过 group_by() 添加了分组信息后,mutate(), arrange() 和 summarise() 函数会自动对这些 tbl 类数据执行分组操作。
group_by(dataframe,colnames1,colnames2,…)
四、连接数据(joins)
1、6种连接函数如下:
left_join(dataset1,dataset2)
right_join(dataset1,dataset2)
inner_join(dataset1,dataset2,by=c(“”))
full_join(dataset1,dataset2, by = c("first", "last"))
semi_join(dataset1,dataset2, by = c("first", "last"))
anti_join(dataset1,dataset2, by = c("first", "last"))
前4种属于变形连接(mutating joins),后2种属于过滤连接(filtering joins)。
semi-joins基于第二个数据集的信息来过滤第一个数据集的数据。anti-joins找出合并时哪些行不能匹配第二个数据集
2、key值
R语言的 data frames可在 row.names属性中存储重要信息,虽然不是存储数据的好方式却很常见。如果数据集的主关键字在row.names中,将难以与其他数据集连接。一种解决方法是使用tibble包(tibble:a data frame with class tbl_df)中的rownames_to_column()函数,返回该数据集的副本,并且行名作为一列增加到该数据中。
library(tibble)
rownames_to_column(data, var="name")
如果两个数据集有相同的列名,但代表的事物不同,并且by参数不包含这些重复的列名,dplyr会忽略这些列名,并对相同的列名增加.x和 .y来帮助区分列。
当两个数据集中相同的事物有不同的列名,要完成合并,将by设置为一个命名向量。向量的名字为主数据集中的列名,向量的值为第二个数据集中的列名。例如:
x %>% left_join(y, by = c("x.name" = "y.name"))
完成连接后保留主数据集中的列名。
3、多个数据集的连接
Purrr包中的 reduce()函数对多个数据集重复应用某函数,可用于连接多个数据集,与dplyr的join类函数配合使用,例如:
library(purrr)
list(data1,data2,data3) %>% reduce(left_join,by = c("first","last"))
五、集合操作(set operations)
dplyr提供了intersection、union和setdiff用于获得数据集的交集、并集和差集。
六、组装数据assembling data
使用如下函数:
bind_rows()
bind_cols() :将多个data frame合成单个data frame
data_frame() : 将一系列列向量组合成data frame
as_data_frame() :将list转换成data frame
以上这篇关于数据处理包dplyr的函数用法总结就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
# 数据处理包dplyr
# 多个
# 变量名
# 第二个
# 群组
# 给大家
# 数据处理
# 可用于
# 包中
# 有一
# 第一个
# 不需要
# 已有
# 出现在
# 希望能
# 可在
# 两条
# 并对
# 特有的
# 这篇
# 使之
相关文章:
如何通过PHP快速构建高效问答网站功能?
Python如何创建带属性的XML节点
如何设置并定期更换建站之星安全管理员密码?
如何彻底删除建站之星生成的Banner?
小捣蛋自助建站系统:数据分析与安全设置双核驱动网站优化
网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?
武清网站制作公司,天津武清个人营业执照注销查询系统网站?
如何在Ubuntu系统下快速搭建WordPress个人网站?
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
佛山网站制作系统,佛山企业变更地址网上办理步骤?
微课制作网站有哪些,微课网怎么进?
公司门户网站制作流程,华为官网怎么做?
赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?
建站OpenVZ教程与优化策略:配置指南与性能提升
Swift中swift中的switch 语句
番禺网站制作公司哪家值得合作,番禺图书馆新馆开放了吗?
实惠建站价格推荐:2025年高性价比自助建站套餐解析
专业网站制作服务公司,有哪些网站可以免费发布招聘信息?
如何在IIS7上新建站点并设置安全权限?
建站168自助建站系统:快速模板定制与SEO优化指南
个人摄影网站制作流程,摄影爱好者都去什么网站?
实现点击下箭头变上箭头来回切换的两种方法【推荐】
如何通过西部建站助手安装IIS服务器?
建站之星多图banner生成与模板自定义指南
如何通过wdcp面板快速创建网站?
javascript中对象的定义、使用以及对象和原型链操作小结
python的本地网站制作,如何创建本地站点?
开心动漫网站制作软件下载,十分开心动画为何停播?
正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?
学校免费自助建站系统:智能生成+拖拽设计+多端适配
如何在Golang中处理模块冲突_解决依赖版本不兼容问题
如何在景安服务器上快速搭建个人网站?
如何快速搭建自助建站会员专属系统?
图册素材网站设计制作软件,图册的导出方式有几种?
c++ stringstream用法详解_c++字符串与数字转换利器
手机网站制作与建设方案,手机网站如何建设?
定制建站哪家更专业可靠?推荐榜单揭晓
建站之星24小时客服电话如何获取?
如何通过老薛主机一键快速建站?
如何正确选择百度移动适配建站域名?
如何规划企业建站流程的关键步骤?
如何快速重置建站主机并恢复默认配置?
高性价比服务器租赁——企业级配置与24小时运维服务
建站主机选择指南:服务器配置与SEO优化实战技巧
简单实现Android文件上传
如何快速搭建FTP站点实现文件共享?
实例解析Array和String方法
上海网站制作网页,上海本地的生活网站有哪些?最好包括生活的各个方面的?
成都网站制作公司哪家好,四川省职工服务网是做什么用?
*请认真填写需求信息,我们会在24小时内与您取得联系。