Qual a forma mais eficiente de achar strings usando R?

Hoje tive a grande ideia de fazer grepl pra achar uma string em 4 milhões de tweets, e quem diria que tá levando muito tempo. Qual a forma mais rápida de achar strings numa coluna? str_detect? tem outra mais eficiente?

1 Curtida

Oi @voltdatalab,

Fiz um teste aqui com meio milhão de parágrafos comparando o grepl com o str_detect e ele se saiu bem melhor.

txt = stringi::stri_rand_lipsum(500000)

benchmark = bench::mark(
  base = grepl("Lorem", txt),
  stringr = stringr::str_detect(txt, "Lorem")
)

Aqui o resultado

> benchmark %>% select(expression,total_time) %>% arrange(total_time)
# A tibble: 2 x 2
  expression total_time
  <bch:expr>   <bch:tm>
1 stringr         1.29s
2 base            4.07s
3 Curtidas

Pois é, to usando stringr mesmo, muito bom, valeu.