我想使用另一个数据框替换不同列中的不同值
df1
v1 v2 v3 v4
RDA NA ILL NA
OPCS NA NA NA
OJK BR ILL PE
df2
v1 v2 v3 v5
RDA COL ILL P3
OPCS BR ILL P2
我希望输出 Dataframe 看起来像这样:
v1 v2 v3 v4 v5
RDA COL ILL NA P3
OPCS BR ILL NA P2
OJK BR ILL PE NA
我尝试使用inner_join,但不起作用,看起来像这样
v1 v2.x v2.y v3.x v3.y v4 v5
RDA NA COL ILL NA NA P3
OPCS NA BR NA ILL NA P2
任何帮助将不胜感激。
4条答案
按热度按时间ctehm74n1#
这里有一个替代方案,如果你感兴趣:
输出:
pepwfjgg2#
?rows_patch
仅覆盖NA
值。如果你想更新任何值,你可以使用rows_update
。注意,要使用rows_patch
,df2
中的所有列都需要存在于df1
中,这就是为什么我使用setdiff
来暂时删除“v5”。输出
qyyhg6bp3#
我写了一个自定义函数
multiple_replacer()
:yv5phkfx4#
另一种选择是使用
data.table
。输出