2016-05-26 8 views
1

Так что я пытаюсь использовать grep для поиска шаблона и замены значений в моем кадре данных одного столбца. Я в основном хочу grep, который говорит: «Удалите все после запятой до конца строки». Я написал выражение, и она работает на моем фиктивной вектор:Regex работает, но не на строках в моем векторе

> library(stringr) 
> pretendvector <- c("Hi","Hi,there","Hi there, how are you") 
>str_replace(pretendvector, regex(',.*$'),'') 
[1] "Hi"  "Hi"  "Hi there" 

Однако, когда применяется такое же выражение, на мой вектор (так как его для stringr я векторизованы колонки с dataframe), он возвращает все значения в столбец и не применяет выражение. Кто-нибудь может понять, почему это может быть?

+0

Это не ясно, что вы имели в виду 'это вернуть все значения в column' вы назначить выход некоторых объект? т. е. 'newvector <- str_replace (pretendvector, regex (',. * $'), '')' – akrun

ответ

0

Я полагаю, что ОП не назначил вывод от str_replace новому объекту или обновил исходный вектор. В этом случае,

newvector <- str_replace(pretendvector, regex(',.*$'),'') 

Мы также можем сделать это с помощью sub из base R

newvector <- sub(",.*", "", pretendvector) 
+0

Это сработало, спасибо! – ALW94

 Смежные вопросы

  • Нет связанных вопросов^_^