у меня 3 вектора. Один содержит текст или фактические слова / предложения (текст), один вектор содержит слова, которые я хочу найти (xreg), а третий вектор (категории) содержит категории, к которым должен принадлежать каждый текст, если найдено совпадение. Вот 3 вектора:
text <- c("Sole Service here", "Freedom to Include","Freedom to Incl","Premier Reg",
"Bankhall","Bankhall","Premier Regiona","St James Play",
"Premier Regional","Health online","Premier Regional",
"Tenet","Health on line","Tenet","Nations","Woolwich",
"Premier Regional","Lifesearch","Nations","Bankhall",
"Premier Regional","Sole Service her","Lifesearch",
"Premier Regional","Sole Service","Nations",
"Sole Service","First Money service","Sole Service",
"Nations wide","Sole Service","Premier Region")
text <- tolower(text)
xreg <- c("sole","freedom","premier","bankhall","james","health","tennet",
"nations","woolwich","life","money")
categories <- c("SS", "FD", "PR", "BK", "JM", "HT", "TT", "NT", "WW", "LF", "MY")
Я хочу выполнить поиск по вектору ' text ' на основе поисковых слов, присутствующих в векторе ' xreg '. И затем, найдя совпадение, я хочу поместить эти слова в категорию, указанную в векторе ' category '.
Так что-то вроде: ищите слово «подошва» и там, где есть указатель соответствия по индексу этого слова, или просто создайте фрейм данных со словами, а затем отдельный столбец, чтобы указать категорию, к которой оно должно принадлежать. , В случае «единственного» поместите его в категорию «SS». «свобода» - это категория «FD» и т. д.
Решение до сих пор:
Я могу искать по одному для каждого ключевого слова, и оно подскажет мне индексы, в которых найдено совпадение.
reg_func <- function(x){grep(x,text)
}
reg_func("sole")
reg_func("freedom")
Это даст мне индексы для каждого подобранного слова, которые я затем смогу использовать для обновления категорий. Есть ли способ, которым я могу сделать это быстрее? вместо того, чтобы искать по одному слову за раз? Спасибо