📅  最后修改于: 2023-12-03 15:19:40.155000             🧑  作者: Mango
当我们需要将两个数据集合并起来时,可以使用 R 中的 Union()
和 union_all()
函数来实现。这两个函数都属于 Dplyr 包中的函数,可用于对数据集进行操作和处理。
Union()
函数Union()
函数可以将两个数据集按给定的列合并,并去除重复行。语法如下:
Union(df1, df2, by = NULL)
参数说明:
df1
:第一个数据集;df2
:第二个数据集;by
:要匹配的列名,为空时默认将两个数据集所有列进行匹配。示例:
library(dplyr)
# 创建两个数据集
df1 <- data.frame(name = c("Alice", "Bob", "Cathy"),
age = c(20, 25, 30),
gender = c("female", "male", "female"))
df2 <- data.frame(name = c("Bob", "David", "Eva"),
age = c(25, 35, 27),
gender = c("male", "male", "female"))
# 按 name 列合并两个数据集
res <- Union(df1, df2, by = "name")
res
输出结果:
name age gender
1 Alice 20 female
2 Bob 25 male
3 Cathy 30 female
4 David 35 male
5 Eva 27 female
可以看到,Union()
函数按照 name 列合并了两个数据集,去除了重复的 Bob 行。
union_all()
函数union_all()
函数可以将两个数据集按给定的列合并,不去除重复行。语法如下:
union_all(df1, df2)
参数说明:
df1
:第一个数据集;df2
:第二个数据集。示例:
# 按 age 列合并两个数据集
res_all <- union_all(df1, df2)
res_all
输出结果:
name age gender
1 Alice 20 female
2 Bob 25 male
3 Cathy 30 female
4 Bob 25 male
5 David 35 male
6 Eva 27 female
可以看到,union_all()
函数按照 age 列合并了两个数据集,并保留了重复的 Bob 行。
总的来说,Union()
函数和 union_all()
函数在数据集合并中都有重要作用,使用方法较简单,灵活性也较好。