Различные форматы найдены в df$PlateName
являются:
MIPS_AGRE_P01_DIL
MIPS_SSC_P50_DIL
MIPS_MtS_P34
MIPS_AT_P1_DIL
KORgex.mips.G12
MIPS_SSC_CL_P32_DIL
MIPS_SSC_CL_Low_DIL
Используя это регулярное выражение, которое очень неуклюжим, возвращает следующие типы:
str_match(df$PlateName,
MIPS_([:alnum:]+(?:_[:alnum:]+)?)_[Low|P:digit:]+(?:_[DIL])?|(KORgex).*)) %>%
as.tibble %>%
count(V2)
Все те NA являются KORgex.mips.G12
типами. Как я могу сделать это регулярное выражение работы?
AGRE 1654
AT 93
MtS 1324
SSC 5280
SSC_CL 288
NA 529
ОБНОВИТЬ:
Я понял , что это, вероятно , лучше использовать str_extract
в этом случае, как будет возвращать только совпадающую часть каждого компонента df$PlateName
.
Я до сих пор не вполне может получить код, чтобы вернуть то, что мне нужно - что мне не хватает?
str_extract(data$PlateName, [[:alnum:]+^(?!(MIPS))]_([[:alnum:]&&[^P]]+(_CL)?)?|(KORgex)) %>%
as.tibble %>%
count(value)`
возвращает:
KORgex 529
S_AGRE 1654
S_AT 93
S_MtS 1324
S_SSC 5280
S_SSC_CL 288
Я не могу за жизнь мне избавиться от S_
в MIPS_
подтипах!