Я работаю над фреймом данных (df
), который выглядит так и может содержать более 10000 строк для некоторых случаев.grepl повторение верхнего и дополнительного символов
Object Coding Fn Remaining
1 T00055 T 00055_005_<002_+ 2 30
2 T00055 T 00055_008_<002_+ 2 30
3 E00336 E 00336_041_<001_+001_+ 3 0
4 E00336 E 00336_041_<001_+001_+001_+ 4 10
5 E00336 E 00336_041_<001_+001_+002_+ 4 56
6 E00336 E 00336_041_<001_+001_+002_< 4 52
7 T 00054 T 00054_013_<003_<015_+003_<001_< 4 52
мне нужно grep
все строки, которые содержат по крайней мере в два раза_+
в строке столбца Coding
для того, чтобы получить кадр test
данных.
Я пытаюсь:
test<-filter(df,
grepl("_[+].{2,}",Coding))
, который не может исключить последнюю строку. Любая идея почему? Большое спасибо
вот результаты:
Object Coding Fn Remaining
1 E00336 E 00336_041_<001_+001_+ 3 0
2 E00336 E 00336_041_<001_+001_+001_+ 4 10
3 E00336 E 00336_041_<001_+001_+002_+ 4 56
4 E00336 E 00336_041_<001_+001_+002_< 4 52
5 T 00054 T 00054_013_<003_<015_+003_<001_< 4 52
Либо работа аналогична, хотя функция rex приносит простоту. –
Однако оба решения (Jim's и @Sven Hohenstein) не могут найти этот тип строки «T 00266_003_ + 003_ + 005_ <005_ + 043_ + 009_ <018_ <010_ + 016_ + 001_ <002_ <001_ +» или этот "T 00266/T 00554_044_ + 006_ + 003_ + 028_ + 014_ <005_ <005_ + 001_ + 003_> 002_ +" Любая идея? –
Не уверен, что вы имеете в виду, 'grepl (rex (at_least (группа (« _ + », что угодно), 2)),« T 00266_003_ + 003_ + 005_ <005_ + 043_ + 009_ <018_ <010_ + 016_ + 001_ < 002_ <001_+")' -> 'TRUE' на моей машине – Jim