2016-11-02 2 views
-1

Мне нужно сопоставить несколько фраз в предложении с использованием R и сохранить его в столбцах рядом с ним. Пример:Согласование фразы в предложении с использованием R

sentence <- c("My CPU is working but keyboard is not working", "unable 
        access printer", "unable access printer and keyboard is not working") 
    phrase <- c("unable access printer", "keyboard is not working") 

Я хочу, чтобы мой выход в поле ниже формат кадр данных:

 sentence            phrase1     phrase2 
    My CPU is working but keyboard is not working   keyboard is not working  NA 
    unable access printer          NA      NA 
    unable access printer and keyboard is not working  unable access printer  keyboard is not working 

прошу вас, пожалуйста, руководство меня с подходом или R кодом. Благодаря!

+0

Да, я пробовал, но все еще не получал выход в желаемом формате. Это будет очень полезно, если вы можете вести меня с помощью кода. – Kiwi

+0

Вы должны написать код, который вы пробовали в своем вопросе. –

+1

Возможно, просто 'res <- sapply (фраза, grepl, x = предложение); rownames (res) <- предложение; res'? Я думаю, что этот формат будет более удобным для всех, что вы планируете делать с результатом. – lukeA

ответ

1
library(quanteda) 
library(foreach) 
library(data.table) 

corp = corpus(sentence) 

find.phrases = foreach(i = 1:length(phrase)) %do% { 
    kwic(corp, phrase[i]) 
} 

find.df = rbindlist(find.phrases) 
Смежные вопросы