R语言 用data.table连接数据
在这篇文章中,我们将讨论使用data.table包在R中连接数据。我们所说的 “连接数据 “是指在两个或多个表之间进行不同类型的连接操作,如INNER JOIN、LEFT OUTER JOIN、RIGHT OUTER JOIN和FULL OUTER JOIN。在表之间进行连接操作的主要目的是在某些属性(或列)条件的基础上从多个表中获取数据。
R为我们提供了data.table包,在它的帮助下,我们可以非常有效地处理表格数据(有行和列)。这个包是作为R的默认data.frame的替代品来处理数据的。与data.frame相比,data.table在速度和代码大小方面非常有效。data.table的语法也非常直观和简洁,这使得它成为开发者的理想选择。这个包为我们提供了一些功能,利用这些功能我们可以有效地进行表之间的连接操作。
在SQL中,连接子句是用来根据两个或多个关系或表之间的列条件来连接行的。
在进一步进行之前,我们需要定义两个表,我们可以对它们进行不同的连接操作。
用data.table创建表格
data.table包为我们提供了data.table()函数,使用该函数我们可以在R中轻松构建这些表格。
语法
该函数的语法如下-
它返回一个以行和列形式存储数据的表。
示例
让我们来创建雇员表 –
输出
创建部门表 –
输出
用data.table连接数据
- 内部连接
-
左外连接
-
右外联接
-
全外链
请注意,要使用data.table在两个表之间执行连接,你需要设置一个键,我们可以在这个键上设置ON子句。
data.table包为我们提供了setKey()函数,其语法如下
与data.table的内联
这种类型的连接返回在各自表中有匹配值的记录。
例如,考虑一对表table1和table2有一些数据。那么,我们可以用维恩图来表示这两个表的内部连接,即
语法
示例
现在让我们使用data.table在表Employees和Departments之间执行内联操作。
输出
与data.table的左外连接
这种类型的连接返回匹配的记录以及左表的剩余记录。
例如,考虑一对表table1和table2有一些数据。那么,我们可以用维恩图来表示这两个表的左外连接,即
左外连接是data.table下的基本连接,遵循下面给出的语法—-。
语法
示例
现在让我们使用data.table在表Employees和Departments之间进行左外连接操作——。
输出
与data.table的右外连接
右外连接返回匹配的记录以及右表的剩余记录。例如,考虑一对拥有一些数据的表1和表2。那么,我们可以用Venn图来表示这两个表的右外联接,即
语法
右外连接是data.table下的基本连接,遵循下面给出的语法
示例
输出
完全外联
一个全外连接返回匹配的记录以及左表和右表的剩余记录。
例如,考虑一对表table1和table2有一些数据。那么,我们可以用Venn图来表示这两个表的全外连接,即
语法
全外连接是data.table下的基本连接,遵循下面给出的语法
示例
输出
结论
在本教程中,我们讨论了如何在R中用data.table连接数据。我们详细讨论了不同类型的连接。内连接、左外连接、右外连接和全外连接。我相信,本教程将加强你在数据科学领域的知识。