从 CSV 文件中挖掘 R 文本文档(每个文档一行)
Posted
技术标签:
【中文标题】从 CSV 文件中挖掘 R 文本文档(每个文档一行)【英文标题】:R text mining documents from CSV file (one row per doc) 【发布时间】:2013-08-02 13:42:44 【问题描述】:我正在尝试使用 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 文档,并从中创建一个语料库......但我认为有一个比这更简单的答案,将每一行作为单独的文档读取。
【问题讨论】:
【参考方案1】:您可以在您的fdbk
对象上使用TermDocumentMatrix()
,并获得一个术语文档矩阵,其中每一行代表一个客户反馈。
【讨论】:
【参考方案2】:这是获得所需内容的完整工作流程:
# 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 文件的一行。每列都是一个单词。
【讨论】:
以上是关于从 CSV 文件中挖掘 R 文本文档(每个文档一行)的主要内容,如果未能解决你的问题,请参考以下文章