У меня та же проблема, что и в:
Как применить grepl для фрейма данных
Но я получаю нежелательные совпадения, например:
Полное сопоставление слов с помощью grepl в R
Как применить решение \‹ или \b в среде sapply, когда grepl перебирает векторы?
У меня та же проблема, что и в:
Как применить grepl для фрейма данных
Но я получаю нежелательные совпадения, например:
Полное сопоставление слов с помощью grepl в R
Как применить решение \‹ или \b в среде sapply, когда grepl перебирает векторы?
Вы использовали анонимную функцию для применения к каждому элементу столбцов во фрейме данных.
vec1 <- c("I don't want to match this", "This is what I want to match")
vec2 <- c('Why would I match this?', "What is a good match for this?")
df <- data.frame(vec1,vec2)
sapply(df, function(x) grepl("\\<is\\>", x))
vec1 vec2
[1,] FALSE FALSE
[2,] TRUE TRUE
Я сам нашел решение. Достаточно вставить пробел до и после каждого элемента вектора, чтобы он соответствовал предложениям.
vector <- paste(" ", vector, " ")
matches <- sapply(vector, grepl, sentences, ignore.case=TRUE )