выбрать текст из нескольких комбинаций текста в кадре данных R - PullRequest
0 голосов
/ 04 февраля 2020

Я хочу разместить данные на основе текстового кода, который используется в многочисленных комбинациях в одном столбце df. Сначала я проверил все варианты, создав таблицу.

 list <-  as.data.frame(table(EQP$col1))

enter image description here

Я хочу выполнить поиск в рамках данных для текста "EF C "(даже в сочетании с другими буквами) и подгруппировать эти строки так, чтобы у меня был результирующий кадр данных, который выглядит следующим образом.

enter image description here

Я просмотрел этот вопрос здесь, но это не отвечает на вопрос. Я рассмотрел пакет tidytext, но это тоже не похоже на решение.

Как извлечь ключевые слова из фрейма данных в R

Ответы [ 2 ]

1 голос
/ 04 февраля 2020

Другой вариант, помимо упомянутого решения от Gallarus:

library(stringr)
library(dplyr)
df %>% filter(str_detect(Var1, "EFC"))

Как описано Сэмом Фирке в этом посте:

Выбор строк, в которых столбец имеет строку, подобную 'hsa ..' (частичное совпадение строк)

1 голос
/ 04 февраля 2020

Вы можете просто использовать grepl.

Учитывая, что ваш data.frame называется df и столбец для поднабора: col1

df <- data.frame(
    col1 = c("eraEFC", "dfs", "asdj, aslkj", "dlja,EFC,:LJ)"),
    stringsAsFactors = F
)

df[grepl("EFC", df$col1), , drop = F]
...