【发布时间】:2018-10-04 17:47:46
【问题描述】:
我有一个包含 2,000 多个 rtf 文档的文件夹。我想将它们导入到 r 中(最好导入可以与tidytext 包结合使用的数据框)。此外,我需要一个额外的列,添加文件名,以便我可以将每个 rtf 文档的内容链接到文件名(稍后,我还必须从文件名中提取信息并将其保存到我的数据集的单独列中) .
我遇到了Jens Leerssen 的解决方案,我试图适应我的要求:
require(textreadr)
read_plus <- function(flnm) {
read_rtf(flnm) %>%
mutate(filename = flnm)
}
tbl_with_sources <-
list.files(path= "./data", pattern = "*.rtf",
full.names = TRUE) %>%
map_df(~read_plus(.))
但是,我收到以下错误消息:
UseMethod("mutate_") 中的错误: 没有适用于“字符”类对象的“mutate_”方法
谁能告诉我为什么会出现这个错误或为我的问题提出另一种解决方案?
【问题讨论】:
-
read_rtf的帮助页面说返回的值是一个字符向量,而不是mutate行所期望的data.frame? -
那么如何告诉 read_rtf 将字符转换为 data.frame?
-
我不确定您的文档是否都一样长,或者您希望它们使用哪种
data.frame。 -
文档的长度是否不同真的很重要吗(它们是!)。我想要一个包含两列(文件名、文本)和每个观察一行(=文档)的 data.frame。
-
这项工作是否换成了 mutate 行?
data.frame(filename = flnm, doc = .)