Skip to main content
 首页 » 编程设计

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

2022年07月19日143jirigala

上文我们已经介绍了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,而且还可以使用管道符号( %>%)。


本文参考链接:https://blog.csdn.net/neweastsun/article/details/117406159
阅读延展