R语言dplyr包常用函数示例教程

本文详细介绍了dplyr包中的mutate和transmute函数,通过示例展示了如何对R数据集进行排序、过滤、转换和抽样等操作,以及如何使用其他辅助函数如arrange、filter、rename和select。适合数据分析师和程序员提升数据处理能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上文我们已经介绍了dplyr包 mutate 和 transmute 函数,本文再介绍一些常用函数。dplyr包提供很多工具函数处理R数据集。

示例数据

> data <- data.frame(x1 = 1:6,                # Create example data
+                    x2 = c(1, 2, 2, 3, 1, 2),
+                    x3 = c("F", "B", "C", "E", "A", "D"))
> data
  x1 x2 x3
1  1  1  F
2  2  2  B
3  3  2  C
4  4  3  E
5  5  1  A
6  6  2  D

示例数据包括三列数据,下面对示例进行加工处理。当然我们先要安装相应的包:

install.packages("dplyr")                   # Install dplyr package
library("dplyr")                            # Load dplyr package

数据处理加工

排序数据

arrange 函数可以根据特定列进行排序。下面代码根据x3列对数据框进行排序:

> arrange(data, x3)   
  x1 x2 x3
1  5  1  A
2  2  2  B
3  3  2  C
4  6  2  D
5  4  3  E
6  1  1  F

过滤数据

filter 函数通过逻辑表达式过滤数据,返回符合条件的子集。下面代码返回x2列为2的数据集。

> filter(data, x2 == 2)                       # Apply filter function
  x1 x2 x3
1  2  2  B
2  3  2  C
3  6  2  D

更多逻辑操作符语法参考前文

转换数据

mutate 函数转换数据,增加新的变量。下面代码从x1,x2列计算每行的和,创建新的变量:

> mutate(data, x4 = x1 + x2)                  # Apply mutate function
  x1 x2 x3 x4
1  1  1  F  2
2  2  2  B  4
3  3  2  C  5
4  4  3  E  7
5  5  1  A  6
6  6  2  D  8

抽取数据

pull 函数抽取特定列转换城向量返回。下面示例抽取x2列返回向量:

> pull(data, x2)                              # Apply pull function
[1] 1 2 2 3 1 2

重命名标题

rename函数改变列名称。下面示例把x3修改为new_name:

> rename(data, new_name = x3)                 # Apply rename function
  x1 x2 new_name
1  1  1        F
2  2  2        B
3  3  2        C
4  4  3        E
5  5  1        A
6  6  2        D

数据抽样

sample_n 函数从数据框中随机选择n个样本。下面代码采用不放回方式抽取三个样本。这里设置随机种子,用于重复执行返回相同结果:

> set.seed(765)                               # Set seed for reproducibility
> sample_n(data, 3)     
  x1 x2 x3
1  4  3  E
2  6  2  D
3  3  2  C

选择数据

select 函数可以从数据框中选择特定列。下面代码选择x2 ,x3 两列:

> select(data, c(x2, x3))                     # Apply select function
  x2 x3
1  1  F
2  2  B
3  2  C
4  3  E
5  1  A
6  2  D

总结

注意前面代码也可以应用于tibble,而且还可以使用管道符号( %>%)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值