1

我有大量文本(12,000 个文档,每个文档有数千个单词),现在我想在每个文档(日期、创建者、标题)上添加元数据,这些元数据存储在单独的日期框架中。

原始数据的基本结构是这样的:

    doc1 = "I am a student"
    doc2 = "You are a student too"
    corpus = c(list(doc1), list(doc2))
    corpus = corpus(VectorSource(corpus))
    info = data.frame(date = c(2017-01-01, 2017-01-02), creator = c("Jack", "Jone"), title = c("12331""32191")

我设法做的是一个循环:

    for (i in 1:length(corpus)){
         DublinCore(corpus[[i]], tag = "date") = info$date[i]
         DublinCore(corpus[[i]], tag = "creator") = info$creator[i]
         DublinCore(corpus[[i]], tag = "title") = info$title[i]
    }

然而正如我所说,我有很多文档,我无法承受循环的低效率。所以我正在考虑使用 sapply 函数:

    sapply(1:length(corpus), function(x) DublinCore(corpus[[x]], tag = "date") = info$date[x])
    sapply(1:length(corpus), function(x) DublinCore(corpus[[x]], tag = "creator") = info$creator[x])
    sapply(1:length(corpus), function(x) DublinCore(corpus[[x]], tag = "title") = info$title[x])

它的作用是直接为我打印出来,而不是真正改变元标记。但是我不知道如何或在哪里存储结果。

如果您能调查一下这个问题,我将不胜感激。先感谢您。

4

0 回答 0