📜  如何在 R 中进行左连接?(1)

📅  最后修改于: 2023-12-03 14:52:32.498000             🧑  作者: Mango

如何在R中进行左连接?

在R中,我们可以使用merge()函数来进行数据合并,其中包括左连接操作。

1. 准备数据

我们首先需要准备数据,假设我们有两个数据框df1df2,它们分别有以下数据:

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表示人员信息,有idname两列;df2表示人员年龄信息,有idage两列。我们注意到两个数据框中都有id列,这就是我们进行左连接的关键列。

2. 进行左连接

使用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=3id=4的人员在df2中没有匹配,所以对应的年龄那一列是NA

不难看出,左连接操作非常灵活方便,可以应用于各种数据场景。