从pdf或R

时间:2019-06-18 19:32:37

标签: r tm corpus

我有很多文件要作为R语料库在R中读取。所有文件都是pdf,但最近我意识到其中一些将是txt。

在拥有文本文件之前,我只是简单地创建目录中的pdf文件列表,然后使用带有readerControl的Corpus函数读取它们:

getwd()
files <- list.files(pattern = "pdf$")
corp <- Corpus(URISource(files),
               readerControl = list(reader = readPDF))

我尝试创建pdf和txt的组合列表,但是我找不到找到将readerContrl用于pdf或txt的方法:

files1 <- list.files(pattern = "pdf$")
files2 <- list.files(pattern = "txt$")
files<-c(files1,files2)

corp <- Corpus(URISource(files),
               readerControl = list(reader = c(readPDF,readPlain)))

关于如何解决此问题的任何想法? 我考虑过合并两个Copuses元素,一个是reader = readPDF,另一个是reader = readPlain。但是由于我是文本挖掘的新手,所以我不确定这样做的最佳实践是什么。

1 个答案:

答案 0 :(得分:1)

使用 readtext 软件包来简化操作。如果您将.txt和.pdf文件混合在一起放在同一子目录中,请调用此path_to_your_files/,然后您可以全部读取它们,然后使用{{1将它们放入 tm 语料库}}。此函数自动识别不同的输入文件类型,并将它们转换为UTF-8文本,以在R中进行文本分析。(此处创建的readtext()对象是一种特殊的data.frame类型,包括文档标识符列和称为rtext包含输入文档中转换后的文本内容。)

text
如果您想尝试替代 tm

readtext 对象也可以直接与quanteda package一起用作rtext <- readtext::readtext("path_to_your_files/*") tm::Corpus(VectorSource(rtext[["text"]])) 的输入。< / p>