我正在尝试自定义匹配2个数据帧(我认为不同于连接)。我想从df1和df2获得df3。这是示例代码 -
function drawLine2(){
k = k - 1;
l = l + 1;
x2 = k;
y2 = l;
if ( k <= 0 ){
k = 0;
}
if ( l >= 299 ){
l = 299;
}
ctx.beginPath();
ctx.strokeStyle = "#000000";
ctx.lineWidth = 1;
ctx.moveTo(150, 150);
ctx.lineTo(x2, y2);
ctx.stroke();
}
任何帮助表示赞赏!
答案 0 :(得分:0)
首先合并数据,保留df2
df3 = merge(df1, df2, all.y = TRUE)
然后重新排序列,以便只存在来自df1的列,它们的顺序相同:
(df3 = df3[names(df1)])
# c1 c2 c3 c4
# 1 NA 6 4 NA
# 2 NA 8 5 NA
请注意,这假设如果存在匹配项,则需要从额外的df1
列中提取值。也就是说,如果df1
的行有c2 == 6
和c3 == 4
,那么c4
和c1
的行值最终会在{ {1}}代替df3
。