我有以下两个数据表:
df1 = data.table(nr=1:10, replicate(10,sample(0:1,10,rep=TRUE)))
df2 = data.table(nr=c(1:3,11:13), replicate(4,sample(0:1,6,rep=TRUE)),V13=sample(0:1,6,rep=TRUE),V14=sample(0:1,6,rep=TRUE))
df1:
nr V1 V2 V3 V4 V5 V6 V7 V8 V9 V10
1 0 1 0 0 0 1 1 1 0 0
2 0 0 1 0 0 0 0 0 0 1
3 0 0 0 1 1 1 0 0 0 1
4 1 0 0 0 1 1 1 0 0 1
5 0 1 0 1 0 0 1 1 1 1
6 1 1 1 1 0 1 1 0 1 1
7 1 0 1 0 1 1 0 1 0 0
8 0 1 1 1 1 0 0 0 0 0
9 0 0 0 1 1 1 0 0 1 0
10 1 0 1 1 0 1 1 1 0 0
DF2:
nr V1 V2 V3 V4 V13 V14
1 0 1 1 1 0 0
2 1 1 0 1 0 0
3 0 0 1 0 0 0
11 1 0 0 1 1 1
12 0 0 0 1 0 1
13 0 0 0 1 0 1
输出:
nr V1 V2 V3 V4 V5 V6 V7 V8 V9 V10 V13 V14
1 0 1 1 1 0 1 1 1 0 0 0 0
2 1 1 1 1 0 0 0 0 0 1 0 0
3 0 0 1 1 1 1 0 0 0 1 0 0
4 1 0 0 0 1 1 1 0 0 1 0 0
5 0 1 0 1 0 0 1 1 1 1 0 0
6 1 1 1 1 0 1 1 0 1 1 0 0
7 1 0 1 0 1 1 0 1 0 0 0 0
8 0 1 1 1 1 0 0 0 0 0 0 0
9 0 0 0 1 1 1 0 0 1 0 0 0
10 1 0 1 1 0 1 1 1 0 0 0 0
11 1 0 0 1 0 0 0 0 0 0 1 1
12 0 0 0 1 0 0 0 0 0 0 0 1
13 0 0 0 1 0 0 0 0 0 0 0 1
有没有人知道合并(外部联接)这些数据表的实用方法,如果它们在两者中都存在,可能会将这些值相加。简单的合并似乎不适合这种情况。所以基本上我需要为df1中不存在但是在df2中的每一行添加一个新行,为df1中不存在的每个列添加一个新列,但是在df2中并且合并(或加在一起)这些值对于那些存在于df1和df2中的人。