У меня есть кадр данных dat
, подобный этому
P pedigree cas
1 M rs2745406 T
2 M rs6939431 A
3 M SNP_DPB1_33156641 G
4 M SNP_DPB1_33156664_G P
5 M SNP_DPB1_33156664_A A
6 M SNP_DPB1_33156664_T A
Я хочу исключить все строки, в которых столбец pedigree
начинается с SNP_
и заканчивается G, C, T или A (_[GCTA]
). В данном случае это будут строки 4,5,6.
Как я могу добиться этого в R? я пытался
multisnp <- which(grepl("^SNP_*_[GCTA]$", dat$pedigree)=="TRUE")
new_dat <- dat[-multisnp,]
Мой вектор multisnp
пуст, но я не могу понять, как его исправить, чтобы он соответствовал нужному шаблону. Я думаю, что это неправильное использование подстановочного знака *
.
dat2 <- dat[!grepl("^SNP_\\.*_[GCAT]$", dat$pedigree), perl = T]
. - person B.Shankar   schedule 21.05.2015