上文我们已经介绍了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