У меня есть вектор символов и data.tabe:
library(data.table)
pselection <- c("12345" , "2345", "12345678")
dt <- data.table("title"=c("First title", "Second Title", "Third Title", "Fourth Title"),
"sha"=c("12345", "2345; 66543; 33423", "22222; 12345678;", "666662345; 444"))
Теперь я хочу выбрать все строки таблицы data.table, которые соответствуют столбцу sha
, частично на основе разделителя ;
. Итак, я хочу получить такой результат:
title sha
1: First title 12345
2: Second Title 2345; 66543; 33423
3: Third Title 22222; 12345678;
Как мне это сделать?
Я пробовал это:
selected <- dt[sha %in% pselection]
, но он выбирает только точные совпадения, а выражение %like%
используется только для сопоставления одного выражения, а не многих. Конкатенация с регулярным выражением (например, paste(pselection, collapse="|")
) не может быть и речи, потому что мой pselection> 10.000. Заранее спасибо за помощь!