R 程序:从给定的两个数据框创建内连接、外连接、左连接、右连接(合并)


2022年2月2日, Learn eTutorial
1843

如何从给定的两个数据框创建内连接、外连接、左连接、右连接(合并)

在这里,我们将解释如何编写 R 程序来从给定的两个数据框创建内连接、外连接、左连接、右连接(合并)。这里我们使用内置函数 data.frame()merge()。数据框用于存储数据表,它包含长度相等的向量列表。数据框通过函数 data.frame() 创建,该函数具有紧密耦合的变量集合。而 merge() 函数有助于通过公共列或行名或数据库连接操作来合并两个数据框。该函数的语法是,


merge(x, y, …) 

其中 x, y 是数据框,或要强制转换为数据框的对象。而 dots(...) 表示要传递给方法或从方法传递的参数。

如何在 R 程序中从给定的两个数据框创建内连接、外连接、左连接、右连接

以下是在 R 程序中从给定的两个数据框创建内连接、外连接、左连接、右连接的步骤。在此 R 程序中,我们直接将数据框提供给内置函数。这里我们使用变量 D1, D2 来保存数据框。调用函数 data.frame() 来创建数据框。最后,通过以不同方式调用 merge 函数来合并给定的数据框。

算法

步骤 1:将数据框分配给变量 D1, D2

步骤 2:首先执行左外连接,如 merge(D1, D2, by = "data", all.x = TRUE)

步骤 3:接下来执行右外连接,如 merge(D1, D2, by = "data", all.y = TRUE)

步骤 4:打印外连接,如 merge(D1, D2, by = "data", all = TRUE)

步骤 5:打印交叉连接,如 merge(D1, D2, by = NULL)

R 源代码

                                          D1 = data.frame(data = c(12, 14, 10, 11))
D2 = data.frame(data= c(13, 15, 11, 12))
print("Left outer Join:")
result = merge(D1, D2, by = "data", all.x = TRUE)
print(result)
print("Right outer Join:")
result = merge(D1, D2, by = "data", all.y = TRUE)
print(result)
print("Outer Join:")
result = merge(D1, D2, by = "data", all = TRUE)
print(result)
print("Cross Join:")
result = merge(D1, D2, by = NULL)
print(result)
                                      

输出

[1] "Left outer Join:"
  data
1    10
2    11
3    12
4    14
[1] "Right outer Join:"
  data
1    11
2    12
3    13
4    15
[1] "Outer Join:"
  data
1    10
2    11
3    12
4    13
5    14
6    15
[1] "Cross Join:"
   data.x data.y
1       12      13
2       14      13
3       10      13
4       11      13
5       12      15
6       14      15
7       10      15
8       11      15
9       12      11
10      14      11
11      10      11
12      11      11
13      12      12
14      14      12
15      10      12
16      11      12