我有一本记录本,上面有三栏是街道地址。填写表格的个人有时会假设“街道地址2”是“城市,州和邮政编码”。我想删除“街道地址2”中的条目,如果它看起来像是个人所做的。我发现这在R/Tidyverse中很难做到,因为Excel中的解决方案很简单。下面是一个示例:
df <- data.frame(address2=c("Tulsa, OK", "Apt. 1","Harbor Club Apartments"), city = c("Tulsa", "Tulsa", "Tulsa"))
在这个示例DF中,我期望我的代码将记录1:address 2设置为等于NA。我已经尝试了几次ifelse语句的迭代都没有用,似乎最有希望的方法是使用str_detect(),如下所示:
df <- mutate(address2 = ifelse(str_detect(df$address2,df$city)),NA, address2)
理论上,如果在address 2记录中找到“塔尔萨”,则应将address 2设置为NA,否则保留address 2记录。但是,它给了我一个错误:
错误的方法(“mutate”):没有适用于“mutate”的方法应用于类“logical”的对象
任何想法将非常赞赏如何做到这一点,以及为什么这将不会工作。最好的-史蒂夫
1条答案
按热度按时间y3bcpkx11#
你的方法很好,但有一些语法问题需要纠正,例如。
创建于2023-10-11使用reprex v2.0.2