测试文件以在输出导出之前提取R

时间:2018-12-17 10:33:11

标签: r extract corpus data-extraction

我已经应用了PDF语料库(541 PDF fie)的某些数据挖掘功能,我想保存处理后的数据。  我用了        writeCorpus(corpus_processed)

但是我需要在文件上添加t检验以保存,实际上只保存了包含“美洲”一词的文件

我找到了此功能,但是我无法继续其余部分以使其适应我的需要。我也认为它不适用于语料库

patterns <- sapply(list.files(corpus_processed, full.names=TRUE), FUN=function(x){
  grep("america", readLines(x))
})

1 个答案:

答案 0 :(得分:0)

您当前的方法似乎是在正确的轨道上,但是您正在不完全处理grep逻辑。由于readLines将为每个文件返回行向量,因此您需要处理grep可能返回索引向量。匹配的文件的定义是从grep返回的向量不会为空。

files <- list.files(corpus_processed, full.names=TRUE)
matches <- sapply(files, function(x) {
    conn <- file(x, open="r")
    count <- length(grep("\\bamerica\\b", readLines(conn)))
    return(count > 0)
})

file_matches <- files[matches]

matches以上的代码中,应该是一个布尔向量,然后可以将其用于子集文件的原始向量以获得包含america的那些文件。

编辑:

以上脚本假定files是包含您的资料的文件(完整路径)列表。如果没有,那么您将必须提供这样的列表。