У меня есть фрейм данных с такими строками, как эти, некоторые из которых являются существующими английскими sh словами, а другие - нет:
df <- data.frame(
strings = c("'tis"," &%#@","aah", "notexistingword", "823942", "abaxile"))
Теперь я хотел бы проверить, какие из них настоящие слова путем сопоставления их с большим словарем, таким как GradyAugmented
;
library(qdapDictionaries)
df$inGrady <- grepl(paste0("\\b(", paste(GradyAugmented[1:2500], collapse = "|"), ")\\b"), df$strings)
df
strings inGrady
1 'tis TRUE
2 &%#@ FALSE
3 aah TRUE
4 notexistingword FALSE
5 823942 FALSE
6 abaxile TRUE
К сожалению, это работает нормально, пока я ограничиваю размер GradyAugmented
(точка отсечения, от которой он больше не работает, это примерно размер 2500
). Как только я использую словарь весь , я получаю сообщение об ошибке, подтверждающее наличие invalid regular expression
. Я догадываюсь, что это не регулярное выражение, а проблема с памятью. Как можно решить эту проблему?