обнаружение границы слова с регулярным выражением во фрейме данных в R

У меня есть data.frame с именем all, в котором есть столбец факторов, эти факторы включают "word", "nonword" и некоторые другие. Моя цель - выбрать только те строки, которые имеют значение фактора "слово".

Мое решение grep("\bword\b",all[,5]) ничего не возвращает.

Почему границы слов не распознаются?


person Daniel Kislyuk    schedule 28.07.2013    source источник
comment
Почему бы не просто all %>% filter(column %in% "word")?   -  person Nettle    schedule 17.08.2018


Ответы (1)


В R вам нужно два раза \:

grep("\\bword\\b", all[5])

Альтернативные решения:

grep("^word$", all[5])

which(all[5] == "word")
person Sven Hohenstein    schedule 28.07.2013
comment
Оба ваших решения работают, спасибо. Вы знаете, почему \bword\b не работает в этом случае? - person Daniel Kislyuk; 28.07.2013
comment
+1 Образец grep("^word$", ...) будет соответствовать всей строке, а не только словам.. хотя здесь они не имеют значения. - person Arun; 28.07.2013