联接两个表,以便我们从tableA获得所有行,并从tableB获得匹配行的所有列
我想使用data.table而不是data.Frame。请提出最快的方法。
<div class="container h-100">
<form method="POST" action="jq.php">
<div class="d-flex justify-content-center h-100">
<div class="searchbar">
<input class="search_input" type="text" name="" placeholder="Search...">
<a href="#" class="search_icon"><i class="fas fa-search"></i></a>
</div>
</div>
</form>
</div>
预期结果:
tableA <- data.table(column1 = c( 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 1.7, 1.8, 1.9))
tableB <- data.table(column1 = c( 1.0, 1.2, 1.5, 1.9), column2 = c( "A", "B", "C", "D"), column3 = c( "AA", "BB", "CC", "DD"))
答案 0 :(得分:1)
您只需要反转联接的顺序:
tableB[tableA, on = "column1"]
答案 1 :(得分:1)
使用较大的数据集时,最好执行更新联接,避免创建新对象...
tableA[tableB, `:=`( column2 = i.column2, column3 = i.column3), on = .(column1)][]
将基于两个表的列1中的值将表B中的column2和column3添加到tableA中。