我正在处理的数据集有一些相当长的 ID。在没有得到我预期的结果后,我将问题追溯到合并两个数据表的代码步骤。
例子:
options("scipen" = 999) ## The only way I know to disable scientific notation.
library(data.table)
table1 <- data.table("ID" = sample(400000000000:400000000004, size = 5),
"colA" = rep('a', 5))
table2 <- data.table("ID" = sample(400000000000:400000000001, size = 2),
"colB" = rep('b', 2))
merge(table1, table2, by = "ID", all.x = F)
Run Code Online (Sandbox Code Playgroud)
由于每个表中的每个 ID 都是唯一的,因此我希望输出长度为两行(仅返回table2due to的匹配行all.x = F)。
相反,我得到:
ID colA colB
1: 400000000000 a b
2: 400000000000 a b
3: 400000000001 a b
4: 400000000001 a b
Run Code Online (Sandbox Code Playgroud)
在某个时刻,看起来 …