1
我想合并以下数据表合并两个数据表有两个ID变量和NA值
dt1 <- data.table(id = letters[1:5], day = 1, var1 = c(2,5,8,7,9), var2 = c(5,5,8,6,7), key = "id")
dt2 <- data.table(id = letters[3:7], day = 2, var1 = c(1,7,6,6,3), var2 = c(2,3,3,2,1), key = "id")
和结果应包括每个ID,每个工作日。不幸的是,一些ID不会在几天内出现。
id day var1 var2
a 1 2 5
a 2 NA NA
b 1 5 5
b 2 NA NA
c 1 8 8
c 2 1 2
d 1 7 6
d 2 7 3
我已经尝试设置id
和day
作为两个DT
键。通过下面的代码,我不设法让day
2的id
因为实际上它缺少,并且变量增加一倍(var1.x var1.y)
merge(dt1, dt2, by= c("id","day"), all=TRUE)
merge(dt1, dt2, by= c("day","id"), all=TRUE)
的allow.cartesian
也不起作用。任何人对如何获得我需要的决赛桌有任何想法/评论?
你确定你不是简单地想要合并行吗?尝试如果'rbindlist(list(dt1,dt2))'做你想做的。 – 2015-03-31 20:22:13