Держите строки, которые имеют определенные окончания - PullRequest
0 голосов
/ 26 октября 2018

У меня есть такие строки в data.frame, и я хочу сохранить только те, которые имеют p__, за которыми следуют буквы [A-z], а не знак |.Пробовал это, но не работало:

grep("p__[[:alpha:]]$",rownames(df),  perl=T)

ввод:

p__xxxx|g_xxxx|s_xxxx
p__xxxx|g_xxxx
p__xxxx

вывод:

p__xxxx

Ответы [ 2 ]

0 голосов
/ 26 октября 2018

Допустим, у вас есть вектор с тремя строками:

str0<-"p__xxxx|g_xxxx|s_xxxx"
str1<-"p__xxxx|g_xxxx"
str2<-"p__xxxx"

mystr<-c(str0,str1,str2)

Затем вы можете выбрать, используя следующее:

mystr[!grepl('\\|', mystr)&grepl("p__",mystr)]
[1] "p__xxxx"
0 голосов
/ 26 октября 2018

Необходимо указать, что после подчеркивания может быть несколько букв, используя +.

x <- c('p__xxxx|g_xxxx|s_xxxx', 'p__xxxx|g_xxxx', 'p__xxxx')
grep("p__[[:alpha:]]+$",x)
[1] 3
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...