2015-06-17 3 views
0

мне нужно сделать частичную строку соответствия R:частичное соответствие строк в R, кроме использования Grep

eg: str1<-"here we go" 
    str2<-"here we go another way" 

мне нужно сделать что-то вроде Grep (str1, str2), то есть. выход должен возвращать значение str1 в str2 или нет. Один из способов сделать это grep, но grep работает очень медленно. Как это можно сделать быстрее?

Благодаря

+0

является общей частью всегда в начале str1? (если это так, возможно, 'substr (str2, 1, nchar (str1)) == str1' быстрее?) – Cath

+2

Попробуйте добавить', fixed = TRUE', хотя я удивлен, что 'grep' медленный. Вы используете его в цикле? –

+1

Также попробуйте 'stri_detect_fixed' в пакете stringi. –

ответ

0

Использование grepl для примера. Здесь оберточная функция:

str1 <- "here we go" 
str2 <- "here we go another way" 

`%instr%` <- 
    function(s1,s2) grepl(s1,s2) || grepl(s2,s1) 

str1 %instr% str2 
## [1] TRUE 
Смежные вопросы