r语言集合补集_R语言数据整理利器——dplyr

dplyr对于处理以行列关系表示的数据框(每一行是一个观测值,每一列是一个维度)十分有效。首先dplyr与SQL语句十分类似,其中select、filter、mutate、summarise等几个关键的函数,可以帮助我们非常方便的筛选、修改、汇总数据。此外dplyr还可以使我们非常便捷的对数据集进行交并合补。最后dplyr中还引入了管道处理的概念(如x %>% f(y)等同于f(x, y)),使我们可以将运算结果优雅的传递给下一个函数处理,避免了嵌套运用多个函数处理数据时,必须使用多层括号或多个临时变量的情形。

1、添加观测值、添加变量

我们可以使用add_row、add_column函数,添加观测值、添加变量。类似于rbind、cbind函数,但这两个函数还可以在原数据框的任意位置插入行列。注意这两个函数是根据tibble类型的数据框实现的,不支持使用行名;此外add_row会对列名进行更加严格的检查,所以需要我们按照列名添加观测值。

> df add_row(df, x = 4, y = 0)# 添加变量> add_column(df, z = -1:1, w = 0)2、修改行名、列名

我们可以使用rename函数,重命名数据框中的某个变量。此外我们还可以使用rename_all、rename_at、rename_if函数,对所有变量、对某些变量、对满足特定条件的变量进行重命名。

为了更好的在普通数据框与tibble类型的数据框之间转换,我们可以将行名转化为一个单独的变量。使用rownames_to_column、column_to_rownames函数,将行名转化为变量、将变量转化为行名。此外我们还可以使用has_rownames、remove_rownames函数,判断数据框是否有行名、删除行名。

# 修改列名> rename(mtcars, var1 = "cyl", var2 ="am")# 将行名转化为变量> rownames_to_column(mtcars)3、筛选变量

我们可以使用select函数,筛选变量、反选(删除)变量、重命名变量、调整变量位置。此外我们还可以使用select_all、select_at、select_if函数,对所有变量、对某些变量、对满足特定条件的变量进行筛选。注意筛选变量时我们既可以使用变量名,也可以使用字符串来筛选变量;反选变量时需要使用负号,此时相当于筛选除了该变量之外的所有变量;我们可以在同一条命令中筛选多次,此时相当于先按照筛选条件的先后顺序进行筛选,再取筛选结果的并集,即使某些变量多次被选择,也只会在结果中出现一次。此外我们还可以在筛选语句中使用以下帮助函数以提高筛选效率。

函数解释说明

starts_with、 ends_with筛选变量名以某个字符串开头/结尾的变量(如select(mtcars, ends_with("t")))

contains筛选变量名中包含某个字符串的变量(如select(mtcars, contains("ar")))

matches筛选变量名中匹配某个正则表达式的变量(如select(mtcars

你可能感兴趣的:(r语言集合补集)