我有一个记录集,其中有三列用于街道地址.填写表格的人有时会认为"街道地址2"代表"城市、州和邮政编码".我想删除"街道地址2"中的条目,如果看起来这是个人所做的.考虑到Excel中解决方案的简单性,我发现在R/TidyVerse中很难做到这一点.下面是一个例子:
df <- data.frame(address2=c("Tulsa, OK", "Apt. 1","Harbor Club Apartments"), city = c("Tulsa", "Tulsa", "Tulsa"))
在这个示例df中,我预计我的代码将把记录1:Address2设置为等于NA.我已经try 了几次ifElse语句的迭代,但都无济于事,似乎最有希望的方法是使用str_Detect(),如下所示:
df <- mutate(address2 = ifelse(str_detect(df$address2,df$city)),NA, address2)
理论上,如果在Address2记录中发现"Tulsa",则应将Address2设置为NA,否则应保留Address2记录.但是,它给了我一个错误:
UseMethod("变异体")出错: 对于"Logical"类的对象,没有适用的方法来应用"Mariate"
对于如何做到这一点以及为什么这不起作用,任何 idea 都将受到极大的赞赏.最佳--史蒂夫