相关疑难解决方法(0)

你如何在 R 中进行有条件的“左连接”?

我发现自己在 R 中做了几次“条件左连接”。用一个例子来说明;如果您有两个数据框,例如:

> df
    a b
  1 1 0
  2 2 0

> other.df
    a b
  1 2 3
Run Code Online (Sandbox Code Playgroud)

目标是最终得到这个数据框:

> final.df
    a b
  1 1 0
  2 2 3
Run Code Online (Sandbox Code Playgroud)

到目前为止我写的代码:

c <- merge(df, other.df, by=c("a"), all.x = TRUE)
c[is.na(c$b.y),]$b.y <- 0
d<-subset(c, select=c("a","b.y"))
colnames(d)[2]<-b
Run Code Online (Sandbox Code Playgroud)

最终达到我想要的结果。

在四行中有效地执行此操作会使代码非常不透明。有没有更好,更不麻烦的方法来做到这一点?

conditional r left-join

5
推荐指数
1
解决办法
5734
查看次数

标签 统计

conditional ×1

left-join ×1

r ×1