📅  最后修改于: 2023-12-03 14:52:32.498000             🧑  作者: Mango
在R中,我们可以使用merge()
函数来进行数据合并,其中包括左连接操作。
我们首先需要准备数据,假设我们有两个数据框df1
和df2
,它们分别有以下数据:
df1 <- data.frame(id = c(1, 2, 3, 4),
name = c("Alice", "Bob", "Charlie", "David"))
df2 <- data.frame(id = c(1, 2, 5, 6),
age = c(20, 25, 30, 35))
其中df1
表示人员信息,有id
和name
两列;df2
表示人员年龄信息,有id
和age
两列。我们注意到两个数据框中都有id
列,这就是我们进行左连接的关键列。
使用merge()
函数进行左连接非常简单,我们只需要指定by = "id"
即可:
left_join <- merge(df1, df2, by = "id", all.x = TRUE)
head(left_join)
输出结果如下:
> head(left_join)
id name age
1 1 Alice 20
2 2 Bob 25
3 3 Charlie NA
4 4 David NA
我们看到,左连接结果包含了df1
中的所有行(每一行代表一个人员),同时将df2
中的信息匹配到了对应的人员上。我们可以看到,结果中id=1
的人员年龄是20岁,对应的是df2
中的第一行;而id=3
和id=4
的人员在df2
中没有匹配,所以对应的年龄那一列是NA
。
不难看出,左连接操作非常灵活方便,可以应用于各种数据场景。