如何使用多个条件和if语句修复grepl函数?

时间:2019-06-04 16:23:24

标签: r if-statement grepl

我正在尝试使用带有ifelse语句的grepl函数来进行模式匹配,但是输出全为0。

我正在尝试使用模式匹配,如果徽标等于“ Taco Bell”,则它匹配这些词组而不是这些词组。我尝试将grepl函数与ifelse语句一起使用,但它与单词“ Taco”的所有提及相匹配。

query <- data.frame("id" = 1:5, "Logo" = c('Del Taco','Taco Bell','Del Taco','Taco Bell', 'Del Taco'), "text" = c("Taco Bell","Del Taaco","Tac Bell","Taco Bel","De Taco"))

ifelse(query$Logo=="Taco Bell", 
   ifelse(!grepl("d.el|'Del Taco'", query$text, ignore.case = TRUE, perl = TRUE), "0", 
     ifelse(grepl("Taco Bell", query$text, ignore.case = TRUE, perl = TRUE),"1","0")),
   NA)

如果徽标列为“ Taco Bell”,文本列为“ Taco Bell”,则预期输出应为模式匹配/“ TRUE”。如果徽标列为“ Taco Bell”,文本列为“ Del Taco”,则该列不匹配/为“假”。

0 个答案:

没有答案