小助理说:今天是你学习R的第4天,每一串代码都有它故事,从bug制造机到修改高手,你的每一步都是在成长。
![ad74aa357194dbfa61098a2294f1a83c.png](https://i-blog.csdnimg.cn/blog_migrate/8655d1368e306d0655e105a4eeae151b.jpeg)
预计阅读时间3分钟
文章目录
- 1 按行操作1. 1 过滤1.2 排序1.3 添加新行
- 2 按列操作2.1 过滤2.2 添加新列2.3 变量重命名
- 3 管道操作
通常我们将EXCLE表格或者分隔符分割的文本文件导入R中进行处理,这些数据在R语言称为数据框也可以叫做数据集,数据框中的行、列也分别称为观测和变量。
应用于数据框的函数和R包有很多,目前对数据框处理速度比较快的两个R包是鼎鼎大名的dplyr包和tidyr包,这两个包最主要的三个作用分别是:
- 单个数据框的操作
- 两个数据框的操作
- 数据框的重塑
接下来小助理将通过三篇文章分别介绍这三类操作、首先介绍的是单个数据框的操作,若掌握了单个数据框的操作、基本上可以满足我们大部分关于数据框处理的需求,在介绍之前我想先回顾一下关于数据框处理的基础函数。
![bb833964c78c5558e74ea9609af4cf4a.png](https://i-blog.csdnimg.cn/blog_migrate/a2ac3f266512c587257c48fbf141d547.jpeg)
下面让我们正式进入数据框的世界!
1 按行操作
1. 1 过滤
dplyr包中filter()函数筛选满足条件的行
![cff20e344093407ec1f1769001dc704c.png](https://i-blog.csdnimg.cn/blog_migrate/6d7efaf221e629df8674064b807dc9b0.jpeg)
filter()函数可以进行的逻辑型操作(TRUE、FALSE)和布尔型操作(或、且、非)
![73f7d23f21dd0d8dea2916550ba8568e.png](https://i-blog.csdnimg.cn/blog_migrate/74e4cd459cbd21d3844784324449e608.jpeg)
limma包中avereps()函数对某列中相同元素所在的行取均值
![450096cf6b5907d94c4517140a086859.png](https://i-blog.csdnimg.cn/blog_migrate/88513f8e2882916568ae088ff17108df.jpeg)
1.2 排序
arrange()函数按某列值的大小对数据集进行排序
![182d27e681e291513db4e98c26d374e3.png](https://i-blog.csdnimg.cn/blog_migrate/5b5489072aaa8e8832a0ae61aaaed4cb.jpeg)
![e023c71561baee8de9c61021816aae86.png](https://i-blog.csdnimg.cn/blog_migrate/4c7d95c9d446a0a3cfb7eb38677c89b7.jpeg)
1.3 添加新行
add_row()函数可以在指定的行前后添加新的一行
![e3ef1076cbf48714a16d78ac2b2c62ec.png](https://i-blog.csdnimg.cn/blog_migrate/2027312ade8d87a45fb3b3b7b339be8d.jpeg)
2 按列操作
2.1 过滤
用select()函数可以对数据集按列进行筛选。
![89ebbfaf70979a8948100d165724c6c0.png](https://i-blog.csdnimg.cn/blog_migrate/478cb76f4d64e9ecf641b83dd952ddb9.jpeg)
![dcd1904e747ec37fadff8e21690c8858.png](https://i-blog.csdnimg.cn/blog_migrate/3ad7b5ce72a21a5397e79e29d547714e.jpeg)
![29ef3ae11c7026974c53359e2b2db8e4.png](https://i-blog.csdnimg.cn/blog_migrate/7395376935491178e0a6d727c4c157a4.jpeg)
2.2 添加新列
![5bb8274d45ef1d2f48cc4bb5a5202fea.png](https://i-blog.csdnimg.cn/blog_migrate/1da7cba0c3ddec82b750b2659ab849e9.jpeg)
![1ad517c2c956ce0d0055421a0c2c3eef.png](https://i-blog.csdnimg.cn/blog_migrate/126f49ce8a84e440e53241144f915288.jpeg)
2.3 变量重命名
![f2c4d2e0da261ea14f6d97407fa7b029.png](https://i-blog.csdnimg.cn/blog_migrate/ddf209e646b183b2c0674c5870c1925b.jpeg)
3 管道操作
dplyr包还有一个强大的功能是通过管道操作符%>%进行管道操作,所谓管道操作就是让上一个处理的结果作为下一个处理的输入,这样可以减少变量(赋值对象)的命名,提高数据处理的效率,下面以一个例子来解释什么是管道操作。
![d4e2bb76019b217f3cbc4a9392fc387c.png](https://i-blog.csdnimg.cn/blog_migrate/ad66803ccd666b80b9fc6c500a297368.jpeg)
![572822694fa9b0690412edf080f0c264.png](https://i-blog.csdnimg.cn/blog_migrate/b945d0a1dbeb8e3455e61ab5cd407dfe.jpeg)
End
科研路漫其修远兮,吾将上下而求索,有烦恼苦闷或者有趣好玩的事情记得告诉小助理,希望陪伴您一起成长。
踌躇满志无限期
扬帆起航正当时
科研小助理为您在线解答