简介

对于 Tidyversetibble,一些数据处理常用 dplyr 包完成。这是一个重要的 tidyverse 核心包。

base R 中相当多的功能都能使用 dplyr 包进行替换,且语法更加简洁易懂。如下表所示:

dplyr 命令Base R 命令注释
arrange(df, x)df[order(x), , drop = FALSE]根据变量 x 对数据框进行排序
distinct(df, x)df[!duplicated(x), , drop = FALSE], unique()去除重复行,保留唯一值
filter(df, x)df[which(x), , drop = FALSE], subset()根据条件 x 筛选符合条件的行
mutate(df, z = x + y)df$z <- df$x + df$y, transform()新增或修改列(基于现有列计算)
pull(df, 1)df[[1]]提取第一列并转换为向量(按索引)
pull(df, x)df$x提取名为 x 的列并转换为向量(按名称)
rename(df, y = x)names(df)[names(df) == "x"] <- "y"修改列名(将 x 重命名y
relocate(df, y)df[union("y", names(df))]改变列的排列顺序(将 y 移至前面)
select(df, x, y)df[c("x", "y")], subset()选取特定的列(此处选取 xy
select(df, starts_with("x"))df[grepl("^x", names(df))]按照匹配模式(如以 x 开头)选取列
summarise(df, mean(x))mean(df$x), tapply(), aggregate(), by()对数据进行聚合统计(如计算平均值)
slice(df, c(1, 2, 5))df[c(1, 2, 5), , drop = FALSE]通过行索引切片选取特定行

语法特征

dplyr 包有两种语法特征:

  1. 函数名(tibble, option = argument, … )
  2. ! 或者使用 R管道:tibble |> 函数名()

使用技巧