Я хотел бы найти точные совпадения для данного запроса (в приведенном ниже примере запрашивается «ABC». Однако я хочу, чтобы все строки были точно обозначены ABC или если они разделены запятой. Что означает, что я хотел бы получить желаемоевывод ниже.
Пример данных:
query = c('ABC')
col1 = c("ABC", "DEF", "ABCDE", "DAC", "CBA,ABC,LMN1")
col2 = c("DEF", "EQ", "AC", "DE,ABC", "QSX")
col3 = c(12, 30, NA, 0, 54)
df = data.frame(col1, col2, col3)
Требуемый вывод:
col1 col2 col3
1 ABC DEF 12
4 DAC DE,ABC 0
5 CBA,ABC,LMN1 QSX 54
Я пыталсяиспользуйте grepl
, но я получаю следующее (см. строку с меткой 3).
df[with(df, grepl(query, col1)|grepl(query, col2)),]
Мой вывод (не требуется):
col1 col2 col3
1 ABC DEF 12
3 ABCDE AC NA
4 DAC DE,ABC 0
5 CBA,ABC,LMN1 QSX 54
Чтолучший способ обеспечить мне строки, которые я ищу?