10

我正在尝试使用 R 中的 tm 包,并有一个客户反馈的 CSV 文件,每一行都是不同的反馈实例。我想将此反馈的所有内容导入语料库,但我希望每一行都是语料库中的不同文档,以便我可以比较 DocTerms 矩阵中的反馈。我的数据集中有超过 10,000 行。

最初我做了以下事情:

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

这将创建一个包含 1 个文档和 >10,000 行的语料库,我想要 >10,000 个文档,每个文档有 1 行。

我想我可以在一个文件夹中拥有 10,000 多个单独的 CSV 或 TXT 文档并从中创建一个语料库……但我认为有一个比这更简单的答案,将每一行作为单独的文档读取。

4

2 回答 2

18

这是获得所需内容的完整工作流程:

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

dtm对象中,每一行都是一个文档,或者是原始 CSV 文件的一行。每列将是一个单词。

于 2013-08-01T16:06:19.653 回答
0

您可以TermDocumentMatrix()在您的fdbk对象上使用,并获得一个术语文档矩阵,其中每一行代表一个客户反馈。

于 2013-08-01T15:02:22.203 回答