如何根据元数据过滤 R 中 tm 语料库中的文档?

How to filter documents in a tm corpus in R based on metadata?

我正在使用 R tm 包,我正在尝试 select 某些文档的索引和元数据:

orbit_corpus<-Corpus( tm_corpus, readerControl = list(reader=myReader))

meta(my_corpus[[1]])

author  : a8
origin  : Department 
heading : WhiB
id      : 1
year    : 2013

我想找到我的语料库中 2013 年发布的前一百个文档中的所有文档。 这用于确定文档 1 的元数据 'year' 是否为 2013 年。

meta(my_corpus[[1]],"year") == 2013
[1] TRUE

我需要一些东西,让我可以选择在前 100 个所有索引中找到符合条件的索引。 我会想象类似的东西(但它不起作用,不幸的是也可能不会生成文档列表)。

meta(orbit_corpus[[1:100]],"year") == 2013
Error in x$content[[i]] : recursive indexing failed at level 4

非常感谢您的帮助!

您可以对语料库的前 100 个文档使用 tm_filter (orbit_corpus[1:100])

tm_filter(orbit_corpus[1:100], FUN = function(x) meta(x)[["year"]] == "2013")

来自文档

tm_filter returns a corpus containing documents where FUN matches