2015-09-02 4 views
0

Я хочу найти список строк в комментариях Столбец и подсчитать количество найденных строк. Код примера приведен ниже:R - Добавление grep Возвращаемые значения

> count = grep('abc','abcdefghijklmnop') + grep('ijk','abcdefghijklmnop') + grep('mno','abcdefghijklmnop') 
> count 
[1] 3 
> typeof(count) 
[1] "integer" 
> str(count) 
int 3 

Теперь я могу использовать счет для дальнейших действий. Но когда одна строка не найдена, я не получаю правильный счет.

> count = grep('abc','abcdefghijklmnop') + grep('ijk','abcdefghijklmnop') + grep('xyz','abcdefghijklmnop') 
> count 
integer(0) 
> typeof(count) 
[1] "integer" 
> str(count) 
int(0) 

Мне нужен граф = 2 здесь вместо 0

as.vector(grep('xxx','abcdefghijklmnop')) - доцент Работа

Мое требование рассчитывать, так что я не могу использовать grepl.Is есть решение, чтобы исправить это?

Спасибо, Manish

+0

Попробуйте 'библиотеки (стринги); stri_count_regex ('abcdefghijklmnop', 'abc | ijk | xyz') ' –

+0

Это работает. Благодарю. Хотите отправить ответ? Хотя я не могу понять, почему преобразование в вектор не работает. – myloginid

ответ

1

Попробуйте:

length(gregexpr("abc|ijk|mno",'abcdefghijklmnop')[[1]]) 
[1] 3 
length(gregexpr("abc|ijk|xyz",'abcdefghijklmnop')[[1]]) 
[1] 2 
+0

Работает хорошо. Благодаря! Я бы очень хотел найти проблему с преобразованием из числа в вектор. – myloginid