我有一个像这样的10 K的主表,一些行在不同的列中缺少N/A字段。
| 姓名|品牌|国家|颜色|
| --------------|--------------|--------------|--------------|
| 乔治|三星|不适用|蓝色|
| 玛丽|不适用|美国|不适用|
| 莎拉|诺基亚|美国|绿色|
我还有一张这样的table。
| 姓名|品牌|
| --------------|--------------|
| 玛丽|诺基亚|
(And另一个表用于颜色,另一个表用于国家)
我想说的是,如果玛丽的N/A为空白,则在brand表中查找她的值。如果她的Color为空白,则在color表中查找她的值。对于乔治和他的国家/地区的N/A也是如此。出于本练习的目的,我不想覆盖任何现有字段(例如,我想为George保留Samsung和Blue,而不是替换它们)。
已尝试left_join,但不确定如何结合执行if语句
1条答案
按热度按时间cu6pst1q1#
试试这个:
让我们首先构建测试数据。
tb_origin
看起来像这样:您使用
left_join()
比较数据是正确的,以下是如何使用它:下面是如何用你的规则替换
NA
:以下是最后的比较: