2013-07-28 4 views
2

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

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

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

ответ

12

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

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

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

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

which(all[5] == "word") 
+1

Оба вашей работы решений, спасибо. Знаете ли вы, почему «\ bword \ b» не работает в этом случае? –

+3

+1 Шаблон 'grep ("^word $ ", ...)' будет соответствовать всей строке, а не только словам .. хотя здесь они не имеют никакого значения. – Arun