2013-08-01 55 views
9

Tôi đang cố gắng làm việc với gói tm trong R và có tệp phản hồi của khách hàng CSV với mỗi dòng là một phản hồi khác. Tôi muốn nhập tất cả nội dung của phản hồi này vào một kho văn bản nhưng tôi muốn mỗi dòng là một tài liệu khác trong kho văn bản, để tôi có thể so sánh phản hồi trong một DocTerms Matrix. Có hơn 10.000 hàng trong tập dữ liệu của tôi.Tài liệu khai thác văn bản R từ tệp CSV (một hàng cho mỗi tài liệu)

Ban đầu tôi đã làm như sau:

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

này tạo ra một corpus với 1 tài liệu và> 10.000 hàng, và tôi muốn> 10.000 tài liệu với 1 hàng mỗi.

Tôi tưởng tượng mình chỉ có thể có hơn 10.000 tài liệu CSV hoặc TXT riêng trong thư mục và tạo một kho văn bản từ đó ... nhưng tôi nghĩ có một câu trả lời đơn giản hơn nhiều, đọc từng dòng dưới dạng tài liệu riêng .

Trả lời

17

Dưới đây là một công việc hoàn chỉnh để có được những gì bạn muốn:

# 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) 

Trong các đối tượng dtm mỗi hàng sẽ là một doc, hoặc một dòng của tập tin CSV ban đầu của bạn. Mỗi cột sẽ là một từ.

0

Bạn có thể sử dụng TermDocumentMatrix() trên đối tượng fdbk và nhận ma trận tài liệu thuật ngữ trong đó mỗi hàng thể hiện phản hồi của khách hàng.