2013-08-01 7 views
9

Ich versuche, mit dem Tm-Paket in R zu arbeiten, und haben eine CSV-Datei von Kundenfeedback mit jeder Zeile eine andere Instanz der Rückmeldung. Ich möchte den gesamten Inhalt dieses Feedbacks in ein Korpus importieren, aber ich möchte, dass jede Zeile ein anderes Dokument innerhalb des Korpus ist, damit ich das Feedback in einer DocTerms Matrix vergleichen kann. Es gibt über 10.000 Zeilen in meinem Datensatz.R Text Mining-Dokumente aus CSV-Datei (eine Zeile pro Dokument)

Ursprünglich habe ich folgendes:

fdbk_corpus <-Corpus(VectorSource(fdbk), readerControl = list(language="eng"), sep="\t") 

Dies erzeugt einen Korpus mit 1 Dokument und> 10.000 Zeilen, und ich möchte> 10.000 Dokumente mit 1 Zeile jeder.

Ich könnte mir vorstellen, dass ich mehr als 10.000 separate CSV- oder TXT-Dokumente in einem Ordner erstellen und daraus einen Korpus erstellen könnte ... aber ich denke, es gibt eine viel einfachere Antwort als jede Zeile als separates Dokument .

Antwort

17

Hier ist eine komplette Workflow zu bekommen, was Sie wollen:

# change this file location to suit your machine 
file_loc <- "C:\\Documents and Settings\\Administrator\\Desktop\\Book1.csv" 
# change TRUE to FALSE if you have no column headings in the CSV 
x <- read.csv(file_loc, header = TRUE) 
require(tm) 
corp <- Corpus(DataframeSource(x)) 
dtm <- DocumentTermMatrix(corp) 

Im dtm Objekt jede Zeile ein Dokument sein, oder eine Zeile Ihrer ursprünglichen CSV-Datei. Jede Spalte wird ein Wort sein.

0

Sie können TermDocumentMatrix() auf Ihrem Objekt fdbk verwenden und eine Term-Dokument-Matrix abrufen, wobei jede Zeile ein Kundenfeedback darstellt.