我有一个包含唯一电子邮件域的列。(例如,@comp1.com、@comp2.com...)
我有另一个数据集与电子邮件列,其中包括许多电子邮件。一些域将在域df的prensent,有些不会。
我想创建一个新列“目标电子邮件”,如果该电子邮件是这些目标域的一部分,它将返回TRUE,否则返回FALSE。
我试过:
df$target_email<-grepl(domain$Email, df$Email)
df$target_email<-ifelse(grepl(domain$Email, df$Email), "TRUE", "FALSE")
df$target_email<-sapply(domain$Email, \(string) any(grepl(string, df$target_email, fixed = TRUE)))
这些都返回错误:
argument 'pattern' has length > 1 and only the first element will be used
或
replacement has 160 rows, data has 28446
编辑:假设我们要隔离属于FAANG公司的电子邮件
df$email<-c("matt@apple.com", "tash@amazon.com", "a@coke.com", "b@netflix.com", "c@pepsi.com")
domains$email<-c("apple.com", "netflix.com", "amazon.com", "google.com")
I want:
df$target_email<-c("True", "True", "False", "True", "False")
1条答案
按热度按时间dbf7pr2w1#
创建于2023年3月20日,使用reprex v2.0.2