认识R语言的dplyr包,掌握管道操作符 %>%

下面内容摘录自《R 语言与数据科学的终极指南》专栏文章的部分内容,每篇文章都在 5000 字以上,质量平均分高达 94 分,看全文请点击下面链接

4章2节:从排序到分组和筛选,通过 R 的 dplyr 扩展包来操作-CSDN博客文章浏览阅读221次,点赞3次,收藏2次。本文将详细介绍dplyr扩展包如何进行数据的排序到分组和筛选,帮助读者在数据处理中更加得心应手。https://blog.csdn.net/2301_79425796/article/details/140880123

欢迎订阅我们专栏

.......前面部分请点击上面链接看原文

认识dplyr

R语言的dplyr扩展包是数据处理的利器,其名称中的'd'代表数据框(dataframe),'plyr'谐音为英文中的钳子(plier),寓意为数据操作工具包。dplyr以其高效、直观的数据操作功能,成为了R语言用户处理数据的首选工具之一。在使用dplyr之前,需要先安装并加载它:

install.packages("dplyr")
library(dplyr)

1、管道操作符 %>%

管道符 “%>%” 是 dplyr 扩展包中的一个重要功能,它大大简化了代码的书写和理解。管道符的作用是将左侧的输出结果作为输入传递给右侧的函数。通过使用管道符,可以避免中间变量的创建,使代码更加简洁和直观。

管道符 “%>%” 可以看作是一个连接操作,将多个函数调用串联在一起。它的语法如下:

data %>% function1 %>% function2 %>% function3

其中,data 是初始数据,function1function2 和 function3 是依次对数据进行处理的函数。

将 iris 数据集转换为 tibble

在前面有关创建数据框的内容中,已经对 dplyr 扩展包的 as_tibble() 函数的使用进行了介绍。然而,它还具备更多且更为强大的数据操作与预处理功能。从其“%>%”符号展开,它的作用在于能够将前一步骤的结果直接作为参数传递给下一步的函数,由此省去了中间的赋值步骤,能够极大程度地减少内存中的对象,在简化代码的同时,也降低了内存的消耗。

例如,运用 dplyr 扩展包的 as_tibble() 函数来读取数据时,通过“%>%”可以将 iris 传递给函数以成为指定对象。在使用 dplyr 扩展包的过程中,能够借助管道符将数据框 iris 转换为 tibble 类型。tibble 是 dplyr 所提供的一种经过改进的数据框,在打印和显示方面具有更出色的效果。

library(dplyr)
data(iris)
iris %>% as_tibble()

输出结果为:

# A tibble: 150 × 5
   Sepal.Length Sepal.Width Petal.Length Petal.Width Species
          <dbl>       <dbl>        <dbl>       <dbl> <fct>  
 1          5.1         3.5          1.4         0.2 setosa 
 2          4.9         3            1.4         0.2 setosa 
 3          4.7         3.2          1.3         0.2 setosa 
 4          4.6         3.1          1.5         0.2 setosa 
 5          5           3.6          1.4         0.2 setosa 
 6          5.4         3.9          1.7         0.4 setosa 
 7          4.6         3.4          1.4         0.3 setosa 
 8          5           3.4          1.5         0.2 setosa 
 9          4.4         2.9          1.4         0.2 setosa 
10          4.9         3.1          1.5         0.1 setosa 
# ℹ 140 more rows
# ℹ Use `print(n = ...)` to see more rows
  1. 代码简洁:管道符可以将多个函数调用串联在一起,避免了中间变量的创建,使代码更加简洁。
  2. 易于阅读:通过管道符,代码的逻辑流程更加直观,易于阅读和理解。
  3. 减少内存消耗:管道符避免了中间结果的存储,减少了内存的占用。

2、列和行选择

列选择

使用dplyr的select()函数可以方便地进行数据框列的选择。选择时可以指定列名,也可以使用负号(-)来排除某些列。例如,以下代码排除了Sepal.LengthSepal.Width列,并显示数据框的前5行:

library(dplyr)
iris %>% select(-Sepal.Length, -Sepal.Width) %>% head(5)

输出结果为:

  Petal.Length Petal.Width Species
1          1.4         0.2  setosa
2          1.4         0.2  setosa
3          1.3         0.2  setosa
4          1.5         0.2  setosa
5          1.4         0.2  setosa
行选择

dplyr提供了slice()函数,用于选择数据框的特定行。例如,以下代码选择iris数据集中第95行到第100行的数据:

 .......后面部分请看原文

欢迎订阅我们专栏,深度系统地学习R语言。 

为帮助大家更出色地掌握临床统计、数据挖掘以及人工智能建模的入门知识和应用,由于众多同学在计算机编程上经验欠缺,特此开设《R 语言与数据科学的终极指南》专栏。该专栏每周至少会定期更新三篇,直到整个专栏更新完成。每篇文章都在 5000 字以上,质量平均分高达 94 分。要提醒大家的是,每结束一个章节,专栏的优惠力度就会减小,当下正是订阅的最佳优惠时段,诚邀各位积极订阅!

专栏《R 语言与数据科学的终极指南》链接:https://blog.csdn.net/2301_79425796/category_12729892.html?spm=1001.2014.3001.5482

  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据科学和人工智能兴趣组

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值