leftjoin一个ID到多个ID

时间:2018-05-16 18:04:43

标签: r dplyr left-join

由于NA的原因,是否可以在多列上保留一个id?

所以说我有一个情况,我有一个像:

这样的数据帧
aa = c(rep(4,4))
bb = c("a", "b", "c", "d")
cc = c(10, NA, 15, 4)
dd = c(NA, 2, NA, NA)

ee = c(14, 10, 12, 10)
ff = c(10, 2, 12, 6)

data <- data.frame(aa, bb, cc, dd)
data2 <- data.frame(bb, ee, ff)

其中:

> data
  aa bb cc dd
1  4  a 10 NA
2  4  b NA  2
3  4  c 15 NA
4  4  d  4 NA

> data2
  bb ee ff
1  a 14 10
2  b 10  2
3  c 12 12
4  d 10  6

理想情况下,使用如下结果列:

  aa bb cc dd ee
1  4  a 10 NA 14
2  4  b NA  2 10
3  4  c 15 NA NA
4  4  d  4 NA NA

我正在思考:

leftjoin(data,data2,by = c(“aa”==“aa”,“ff”==((“cc”&amp;“dd”),na.omit = T)))

leftjoin(data, data2, by = c("bb" == "bb", "ff" == (("cc" & "dd"), na.omit = T)))

(我知道最后一部分是非感性的,但至少要明白这一点)。

1 个答案:

答案 0 :(得分:4)

这看起来像-Dsonar.host.url=[your URL here]的作业,但您的加入条件有点令人困惑,因为coalesce中没有aa

data2