Мне любопытно узнать, возможно ли частичное совпадение строк с помощью оператора% in% в R. Я знаю, что есть много способов использовать stringr и т. Д. Для поиска частичных совпадений строк, но мой текущий кодработает проще, используя оператор% in%.
Например, представьте себе этот вектор:
x <- c("Withdrawn", "withdrawn", "5-Withdrawn", "2-WITHDRAWN", "withdrawnn")
Я хочу, чтобы каждый из них был ИСТИНА, потому что строка содержит «Withdrawn», но тольково-первых, это ИСТИНА:
x %in% c("Withdrawn")
[1] TRUE FALSE FALSE FALSE FALSE
Я пытался использовать регулярное выражение, чтобы хотя бы сделать его нечувствительным к регистру, но это сделало все ложным:
x %in% c("(?i)Withdrawn")
[1] FALSE FALSE FALSE FALSE FALSE
Итак, возможно ли получить ИСТИНА для всехиз них с использованием оператора% in% с оберткой?Поскольку tolower () или toupper () легко использовать, я не , а , касающийся чувствительности к регистру;однако для меня важно, чтобы код вызывал «изъят», «снят» и «5 снят».
РЕДАКТИРОВАТЬ: Этот вопрос был помечен как дубликат этого вопроса Case-нечувствительный поиск списка в R ;однако, это отличается, потому что он спрашивает, возможно ли частичное совпадение строк, используя оператор% in%.В связанном вопросе оператор% in% вообще не используется.