Я хотел бы определить, повторяет ли столбец строки в приведенном ниже фрейме данных буквы «V» или «G» не менее 5 раз в пределах первых 20 символов строки.
Пример данных:
data = data.frame(class = c('a','b','C'), string =
c("ASADSASAVVVVGVGGGSDASSSDDDFGDFGHFGHFGGGGGDDFFDDFGDFGTYJ",
"AWEERTGVTHRGEFGDFSDFSGGGGGGDAWSDFAASDADAADWERWEQWD",
"GRTVVGGVVVGGSWERGERVGEGDDFASDGGVQWEQWEQWERERYRYER"))
Например, строка в первой строке содержит "VVVVG" в пределах первых 20 позиций символов. Точно так же строка в третьей строке имеет «VVGGV».
data
# class string
#1 a ASADSASAVVVVGVGGGSDASSSDDDFGDFGHFGHFGGGGGDDFFDDFGDFGTYJ
#2 b AWEERTGVTHRGEFGDFSDFSGGGGGGDAWSDFAASDADAADWERWEQWD
#3 C GRTVVGGVVVGGSWERGERVGEGDDFASDGGVQWEQWEQWERERYRYER
Желаемый результат должен выглядеть следующим образом:
# class string result
# 1 a ASADSASAVVVVGVGGGSDASSSDDDFGDFGHFGHFGGGGGDDFFDDFGDFGTYJ TRUE
# 2 b AWEERTGVTHRGEFGDFSDFSGGGGGGDAWSDFAASDADAADWERWEQWD FALSE
# 3 C GRTVVGGVVVGGSWERGERVGEGDDFASDGGVQWEQWEQWERERYRYER TRUE
data$result <- grepl('(V|G){5,}', substr(data$string, 1,20))
- person akrun   schedule 04.06.2015VVVVV
и нет ни одной буквы «G»? - person akrun   schedule 04.06.2015