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.