我有兩個資料框("之前","之后")。
before1 < - c("A"。 "B", "C")
before2 < - c("1"。 "2", "3")
before3 < - c("ab"。 "cd", "ef")
before <- data.frame(before1, before2, before3)
after1 < - c("A"/span>。 "B")
after2 < - c("1"。 "2")
after3 < - c("de"。 "fg")
after <- data.frame(after1, after2, after3)
當before1和before2同時匹配after1和after3時,我想用after3替換before3。
我想要的結果如下。
before1 < - c("A"。 "B" "C")
before2 < - c("1"。 "2", "3")
newafter < - c("de"。 "fg", "ef")
uj5u.com熱心網友回復:
你可以把這兩個資料框架連接起來,并用coalesce來更新。
library(dplyr)
之前%>%
left_join(after, by = c('before1' = 'after1'。 'before2' = 'after2')) %> %
mutate(newafter = coalesce(after3, before3)) %> %
select(before1,before2,newafter)
# before1 before2 newafter
#1 A 1 de
#2 B 2 fg
#3 C 3 ef
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/306858.html
標籤:
