У меня есть такие данные:
data <- data.frame(
text = c(
"PARACETAMOL/CODEINE",
"PSEUDOEPH/PARACET/CODEINE",
"PARACETAMOL/CODEINE/DOXYLAMINE",
"CODEINE & ASPIRIN",
"CODEINE/PARACETAMOL",
"TEST"
),
stringsAsFactors = F
)
Я хочу в каждом случае возвращаться, в какой позиции находится CODEINE, т.е.
text position
PARACETAMOL/CODEINE 2
PSEUDOEPH/PARACET/CODEINE 3
PARACETAMOL/CODEINE/DOXYLAMINE 2
CODEINE & ASPIRIN 1
CODEINE/PARACETAMOL 1
TEST 0
Я предпочитаю, чтобы решение DPLYR перебегало сотни строк.
Я просмотрел различные ответы на Stackoverflow, но, похоже, не могу заставить его работать. Они в основном имеют дело с индексами слов, а не с позицией относительно других слов. Идея состояла бы в том, чтобы токенизировать и затем считать позицию с помощью чего-то вроде тидитекста, но я думаю, что может быть более простой способ. Я подозреваю, что это какой-то изящный REGEX.
ОБНОВЛЕНО
Я не добавил элемент, не основанный на CODEINE, оба ответа на ошибки.
Любая помощь будет принята с благодарностью.