假设我有两个data.table:

A:

  A  B
1: 1 12
2: 2 13
3: 3 14
4: 4 15

B:

   A  B
1: 2 13
2: 3 14

我有以下代码:

merge_test = merge(dataA, dataB, by="A", all.data=TRUE)

我得到:

   A B.x B.y
1: 2  13  13
2: 3  14  14

但是,我希望dataA中的所有行都在最终合并的表中.有办法做到这一点吗?

推荐答案

您可以try 以下方法:

# used data
# set the key in 'B' to the column which you use to join
A <- data.table(a = 1:4, b = 12:15)
B <- data.table(a = 2:3, b = 13:14, key = 'a') 

B[A]

R相关问答推荐

将coord_sf与geom_spatraster一起使用会更改分辨率

如何设置搜索栏来搜索整个Shiny应用程序页面?

如何将图案添加到ggplot中的一个类别

使用map()内的公式()创建多个公式

给定R中另一行中的值,如何插补缺失值

使用预定值列表将模拟数量(n)替换为rnorm()

更改Heatmap Annotation对象的名称

MCMC和零事件二元逻辑回归

如何编辑ggplot的图例字使用自定义对象(gtable)?'

整数成随机顺序与约束R?

如何得到每四个元素向量R?

将饼图插入条形图

如何在R forestplot中为多条垂直线分配唯一的 colored颜色 ?

根据列A中的差异变异列,其中行由列B中的相对值标识

使用`Watch()`和`renderUI()`时,不再满足仍出现在SHILINY AFTER条件中的条件输入

如何基于两个条件从一列中提取行

如何将Which()函数用于管道%>;%

R -使用矩阵reshape 列表

使用geom_iles在一个切片中包含多个值

使用LAG和dplyr执行计算,以便按行和按组迭代