【发布时间】:2014-02-20 04:48:12
【问题描述】:
我已经搜索了这个简单问题的答案,但找不到类似的问题。我有 3 个数据表:
set.seed(0)
demo <- data.table(id = 1:10, demo.var = rnorm(10), key = 'id'); demo
lab <- data.table(id = 1:7, tc = rnorm(7), key = 'id'); lab
anthro <- data.table(id = 4:9, bmi = rnorm(6), key = 'id'); anthro
lab 和 anthro 中的所有 ID 都在 demo data.table 中,但 lab 和 anthro 包含 demo 中 ID 的不同子集
两个
lab[demo]
anthro[demo]
提供我想要的信息:所有 10 个 ID 以及来自 lab 或 anthro data.table 的附加信息,但是是否有一种方法可以以类似的方式将所有 3 个 ID 合并在一起?我尝试了一些排列,例如
anthro[lab][demo]
但这只会保留实验室 data.table 中 ID 的人类信息 - 没有 ID 8 和 9 的人类信息
提前感谢您的帮助
【问题讨论】:
-
+1 用于以简单易用的格式提供数据作为答案;希望每个人都这样做。
-
B[A]进行左连接,而不是完全外连接...如果这确实是您要查找的内容,那么您可以编辑标题吗? (虽然这里因为demo拥有您想要加入的所有值,但它按预期工作)。
标签: r data.table outer-join