У меня есть ключевое слово (например, "зеленый" ) и некоторый текст ( "Мне не нравятся Сэм Я!" ).
Я хотел бы видеть, сколько символов в ключевом слове ('g', 'r', 'e', 'e', 'n') происходит в тексте (в любом порядке).
В этом примере ответ 3 - текст не имеет G или R, но имеет два Es и N.
Моя проблема возникает там, где, если символ в тексте сопоставляется с символом в ключевом слове, то он не может использоваться для сопоставления другого символа в ключевом слове.
Например, если мое ключевое слово было "greeen", количество "совпадающих символов" по-прежнему равно 3 (один N и два Es), потому что в тексте есть только два Es, а не 3 (чтобы соответствовать третьему E в ключевое слово).
Как я могу записать это в R? Это просто тикает что-то на краю моей памяти - я чувствую, что это общая проблема, но просто сформулированная по-разному (вроде как выборка без замены, но "совпадение без замены"?).
например.
keyword <- strsplit('greeen', '')[[1]]
text <- strsplit('idonotlikethemsamiam', '')[[1]]
# how many characters in keyword have matches in text,
# with no replacement?
# Attempt 1: sum(keyword %in% text)
# PROBLEM: returns 4 (all three Es match, but only two in text)
Дополнительные примеры ожидаемых ввода/вывода (ключевое слово, текст, ожидаемый результат):
- 'green', 'idonotlikethemsamiam', 3 (G, E, E)
- 'greeen', 'idonotlikethemsamiam', 3 (G, E, E)
- 'red', 'idonotlikethemsamiam', 2 (E и D)