如何基于其他列更新向量中的值

时间:2019-02-25 07:12:58

标签: r

我最近开始学习R,并且在尝试解决问题时陷入困境。我读了一个.csv文件,该文件有几个不同的列,其中包括pickup_namepickup_zipcode

如果名称为“ pickup_name”且Whole Foods为名称“ pickup_zipcode = 12345”,我希望更新Whole Foods-H1的文本,但尚未弄清楚正确的语法。我目前正在尝试使用gsub()。我知道我是否只是想根据purchase_name来更新值,我只会这样做:

Data_Delivery$pickup_name = gsub("Whole Foods", "Whole Foods-H1",
                                  Data_Delivery$pickup_name,
                                  fixed = TRUE)` 

但是如果我也基于邮政编码,该怎么办?另外,pickup_zipcode列的值确实为“ NA”。我要做的就是,如果条件满足,则仅更新此Pickup_name的文本,而保留其他名称。任何帮助都是有益的。

谢谢

1 个答案:

答案 0 :(得分:0)

只需将第二个条件添加到您的代码中即可。

cond=which(Data_Delivery$pickup_zipcode==12345)
Data_Delivery$pickup_name[cond] = gsub("Whole Foods", "Whole Foods-H1",
                              Data_Delivery$pickup_name[cond],
                              fixed = TRUE)`