【问题标题】:Reading multiple text files to do automated text analysis读取多个文本文件以进行自动文本分析
【发布时间】:2014-11-22 19:34:02
【问题描述】:

我想读取多个文本文件以进行自动文本分析。我的文件是 txt 文件,我使用 list.files 列出了目录中的所有文件。每个文本文件都是新闻文章。代码如下所示。

lff <- list.files(path = "the path", pattern = paste('*.txt*',sep=""), full.names = TRUE, recursive = TRUE, include.dirs = TRUE)
df<-ldply(lff, readLines)

我使用 readLines 来阅读我的文本,但是这个命令给了我一个类似下面的错误。

Error in list_to_dataframe(res, attr(.data, "split_labels")) : 
Results do not have equal lengths

read.table 不适合我的分析。无论如何,我发现要为每一行导入这些文本。

** 我试过了

   df<-ldply(lff, readLines(warn=FALSE))

但是导入这些文件需要很长时间。我只有 300 多个文件,所以不应该花这么长时间。有什么问题?

**

每个文件看起来像这样。

上周棕榈滩县委员会就春季训练场的资金问题进行的辩论看起来有点像布里瓦德县正在进行的关于保持华盛顿国民队春季训练的工作量的辩论维埃拉。只有数字更大。

因为我有 300 多个文件的列表,所以 lff 对象中有 300 多行。我想导入每一行中的每个文本。我还将为每一行添加一些额外的数据,例如每篇文章的日期和作者。

提前致谢!

【问题讨论】:

  • 您能在此处粘贴一小部分文本文件吗?我无法达到您的想法,您想要支持以下分析的结构是什么? (ldply会给你一个data.frame,你能解释一下哪个fields会构造data.frame吗?)
  • @hs3180 谢谢,我编辑了我的问题

标签: r text readlines


【解决方案1】:

我不知道 article 是什么(它是 file 还是 row ?),但我想你会需要这个.

df <- ldply(lff, function(file) {
  content <- readLines(file)
  date <- smth_date
  author <- smth_author
  data.frame(content = content, date = date, author = author, stringsAsFactors = FALSE)
})

PS:别忘了stringsAsFactors = FALSE,自动转换的因子总是给我带来意想不到的错误。

【讨论】:

    猜你喜欢
    • 2012-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-05
    • 1970-01-01
    • 2018-05-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多