2021-06-28 18:13:23, 多层组学定制服务 上海欧易生物医学科技有限公司
点击上方“蓝色字体”关注我们
R语言在生物信息分析过程中,一直占有重要的地位,它可以快速处理繁多的生物学数据并进行可视化。今天小鹿为大家带来数据预处理必备工具——dplyr包,以从容应对各种生物学数据的处理。
dplyr包的真面目
R语言老玩家应该对dplyr这个名字相当熟悉,因为它是plyr包的升级版,可用于处理R内部或者外部的结构化数据。相较于plyr包:①dplyr专注于数据框(data.frame)操作, 大幅度提高了处理速度;②提供了更稳健的数据库接口。
dplyr包主要应用于数据处理,可以对得到的原始数据进行筛选、汇总、变性、分组等等,使得初始数据变成理想中的模样。
dplyr包中最夺人眼球的莫过于几个核心函数,如tbl_df( )、filter( )、arrange( )、select( )、mutate( )、group_by( )、sample_n( )等。
下面来给大家介绍dplyr包中几个最为重要的函数的用法:
首先我们需要安装dplyr包,本次实例演示选用的是R自带的数据集iris。
代码如下:
#加载dplyr
library(dplyr)
#查看iris数据集
View(iris)
输出iris数据集:(这里仅展示iris前几行的数据)
数据提取—select( )
select(data, var1/condition1, var2/condition2,…)
select( )函数按照名称选择数据框的列
第一个参数为需要排序的数据框名称,第二个参数以及随后的参数是选取依据的列名或选取条件的表达式。
例如:
#选取Species和Sepal.Length两列
select(iris, Species, Sepal.Length)
#选取以字母s开头的列
select(iris,starts_with("s"))
数据分组-- group_by( )
group_by(data, var1, var2,…)
函数用于数据框按照某个变量进行分组
第一个参数为数据框的名称,第二个参数为分组依据的变量名称。
特别注意的是,分组完成后对于数据框本身不会发生什么变化,但已按照要求变量分好组。
例如:
#以Sepal.Length为依据分组
group_by(iris, Sepal.Length)
数据排序-- arrange( )
arrange(data, var1, var2, var3,…)
arrange( )函数用于数据框行的排列,改变行的顺序,使数据框按照一列或者多列进行排序。
第一个参数为需要排序的数据框名称,第二个参数以及随后的参数是排序依据的变量名,默认排序为升序,若需要按照某列降序排序,那么可以在变量名前加
desc:arrange(data, desc(var1))
例如:
#按照Petal.Length升序排列
arrange(iris, Petal.Length)
#按照Petal.Length降序排列
arrange(iris, desc(Petal.Length))
arrange( )函数其实和大家经常用的EXCEL中的升降排序相似,不过更加方便快速,可以按照多列进行排序。若列名不只一个,则使用后面的列在前面排序的基础上继续排序。
数据筛选—filter( )
filter(data, condition_1, condition_2)
filter( ) 函数用于筛选数据的行
第一个参数为需要筛选的数据框名称,第二个参数以及随后的参数是用来筛选数据框的筛选要求表达式。
例如:
#筛选Sepal.Length>3, Sepal.Width<5的行
filter(iris, Sepal.Length>3, Sepal.Width<5)
#筛选Sepal.Width>3, Species等于virginica的行
filter(iris, Sepal.Width>3, Species=="virginica")
结语
小鹿今天给大家主要介绍了dplyr包的几个核心函数的用法,你们都学会了吗?当然dplyr作为数据处理的宝藏工具,还有更多强大的功能等待你的挖掘,感兴趣的话继续深入挖宝吧。
文末看点 鹿明生物
上海鹿明生物科技有限公司多年来,一直专注于生命科学和生命技术领域,是国内早期开展以蛋白组和代谢组为基础的多层组学整合实验与分析的团队。
同时,鹿明生物线上学习平台易明学院,一个专注于组学科研培训的互联网平台。迄今为止,倾情打造了多款组合课程,希望可以给各位组学研究的老师一点帮助;
猜你还想看
◆生信课程:手把手教你如何从iprox上自动批量下载原始数据
◆生信课程:这个分析不太难系列(一)——方差分析
◆生信课程:一行代码,轻松绘制动态关系网络图(Jaal 库)
◆生信课程:我要如何才能拯救你!我的论文!我的实验数据!
◆生信分析—文献管理神器:常被文献编排整奔溃?试试这款文献管理神器,让您的效率MAX
◆生信分析—数据库获取:如何快速从主流数据库中获取人/小鼠数据?
◆生信分析—可视化处理工具:你可以更美一些:SnapGene Viewer软件序列可视化操作
◆生信分析:这个R包不太冷系列——GOplot(功能富集绘图)
◆生信分析:10行代码让你的相关性图貌美如花
◆生信分析:对话百年名画--文章绘图配色高级又简单!
◆生信分析:只需3分钟Get“代谢通路分析神器”
◆生信分析:玩转生信—火山图中“亿点细节”,你会打造吗?
◆生信分析:【指南】Cytoscape之stringAPP蛋白互作分析详解
◆生信分析:【教程】组学研究,用python快速实现PCA分析和绘图
◆生信分析:组学研究,R语言实用技巧—热图,运用pheatmap包简单易懂快速汇图方法来袭~
◆生信分析:【情人节】R语言—小提琴图的浪漫邂逅
END
Irene 撰文
欢迎转发到朋友圈
本文系鹿明生物原创
转载请注明本文转自鹿明生物
我知道你在看哟
点“阅读原文”了解更多
10-26 微纳加工中心
NanoTemper周年庆活动倒计时,超值福利莫错过!10-26 NanoTemper
nanoDSF技术助力蛋白结晶的研究10-26 NanoTemper
真理光学团队再下一城 ── 成功研发CF-PALS余弦拟合位相分析法10-26 真理光学粒度仪
LT3600 Plus激光粒度分析仪10-26 真理光学
喷雾粒度分析的天花板-Spraylink高速实时喷雾粒度仪10-26 真理光学粒度仪
助力中国制药工业高质量发展,真理光学精彩亮相秋季南京API制药展10-26 真理光学粒度仪
文献解读 | 评估维生素D与冠心病、中风和全因死亡率的剂量-反应关系:观察性研究和孟德尔随机化研究分析10-25
Dr.赛诺贝尔奖追踪 | 量子点10-25 赛默飞生命科学
就在今天!赛默飞官网会员中心重磅上线!10-25 赛默飞生命科学
宏集案例 | Panarama SCADA平台在风电场测量的应用,实现风电场的高效管理!10-25 宏集科技
虹科培训 | 虹科携手PLCopen开展IEC 61131-3国际工程师培训10-25 虹科工业控制团队
2023年 ACD/Labs 用户会圆满落幕!10-25 ACD/Labs
【邀请函】杭州大微邀您参加第五届伯杰氏国际系统微生物学研讨会10-25
单细胞的代谢分析 - SCENITH:基于流式细胞仪的单细胞能量代谢功能曲线绘制方法10-25 安捷伦细胞分析
讲座回顾 | 安全性和有效性的平衡:了解IndEx-2癌症治疗中的靶抗原密度10-25 安捷伦细胞分析
安捷伦 Seahorse XF 技术培训会在深圳湾实验室圆满举行!10-25 转载:博兴生物
邀请函 | 干细胞与类器官前沿研究创新进展10-25 安捷伦细胞分析
【探访实验室】华盛顿大学杀伤细胞策略:监测工程化免疫细胞的强大能力10-25 安捷伦细胞分析
专注细胞能量代谢 | 向“新”而行 助力疾病研究与药物研发10-25 安捷伦细胞分析