Я пытаюсь поместить данные в R определенными символами в поле и не могу найти правильную логику регулярных выражений, чтобы получить то, что мне нужно.Мне нужно подмножество записей, для которых идентификатор содержит либо:
- Просто "AB"
- "AB" и "ABC"
- Но НЕ поля с ТОЛЬКО "ABC "
Эти шаблоны находятся в любой части поля (начало, середина, конец) в этом наборе данных и не имеют определенных разделителей.
Пример набора данных TEST:
Record ID value
1 blueAB_ABC 7
2 green_ABCblue 9
3 ABC_green 45
4 green_AB 23
5 CD_red 45
Так что для этого примера я бы хотел поместить записи 1 и 4.
Я дошел до того, что возвращал толькоAB и исключая ABC, но не могу найти подходящего регулярного выражения, чтобы получить все с "AB" и, возможно, с "ABC".
AB_set <- subset(TEST, grepl("*AB", ID) & !grepl("*ABC", ID) )
Record ID value
4 green_AB 23
Что я надеюсь получить:
Record ID value
1 blueAB_ABC 7
4 green_AB 23
РЕДАКТИРОВАТЬ: просто чтобы уточнить, я обновил набор данных, чтобы показать, что рассматриваемый шаблон может находиться рядом с другими символами, кроме подчеркивания, или может не обязательно появляться в начале / конце (как отмечалось ранее, «нет определенных разделителей»).