Есть ли функция R, которая возвращает регулярные выражения на основе условий? - PullRequest
0 голосов
/ 18 апреля 2019

Я пытаюсь реализовать алгоритм TEIRESIAS, как описано Rigoutsos и Floratos в 1997 году. Первым шагом этого алгоритма является нахождение значимых паттернов, соответствующих нескольким условиям.Я думаю, что это должно быть возможно с помощью регулярных выражений, однако я не нашел функцию, которая бы соответствовала моим потребностям, и поэтому мне нужна помощь.

Алгоритм использует 3 входных параметра: L, W и K. W обозначаетдлина найденных шаблонов, L обозначает количество мест в этой длине, которые должны быть действительными символами.K обозначает минимальное количество раз, когда шаблон должен появляться.Что, вероятно, звучит расплывчато, но может стать более ясным на примере.

Пример:

L = 3, W = 4, K = 3

S = {s 1 = "SDFBASTS", с 2 = "LFCASTS", с 3 = "FDASTSNP"}

Этот ввод должен привести к 5 шаблонам, которыеудовлетворяют условиям L, W и K:

'F.AS', 'AST', 'AS.S', 'STS', 'A.TS'

два из нихшаблоны имеют длину только 3, но их можно сделать длиной 4, добавив символ «Не заботиться» спереди или в конце.

Итак, я хочу, чтобы следующий ввод:

L <- 3
W <- 4
K <- 3

s1 <- "SDFBASTS"
s2 <- "LFCASTS"
s3 <- "FDASTSNP"

S <- c(s1, s2, s3)

приводил к набору шаблонов P:

> print(P)
[1] "F.AS" "AST"  "AS.S" "STS"  "A.TS"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...