0

我有一个像这样的 tm Corpus 对象:

> summary(corp.eng)
A corpus with 154 text documents

The metadata consists of 2 tag-value pairs and a data frame
Available tags are:
  create_date creator 
Available variables in the data frame are:
  MetaID

语料库中每个文档的元数据如下所示:

> meta(corp.eng[[1]])
Available meta data pairs are:
  Author       : 
  DateTimeStamp: 2013-04-18 14:37:24
  Description  : 
  Heading      : 
  ID           : Smith-John_e.txt
  Language     : en_CA
  Origin       :

我知道我可以一次设置一个文档的作者:

meta(corp.eng[[1]],tag="Author") <-  
  paste(
    rev(
      unlist(
        strsplit(meta(corp.eng[[1]],tag="ID"), c("[-_]"))
      )[1:2]
    ), collapse=' ')

这给了我这样的结果:

> meta(corp.eng[[1]],tag="Author")
[1] "John Smith" 

如何批处理作业?

4

1 回答 1

2

注意:这应该仍然是一个评论,但有一些工作部分,所以这里有一个例子:

data(crude)
extracted.values <- meta(crude,tag="Places",type="local")
for (i in seq_along(extracted.values)) {
     meta(crude[[i]],tag="Places") <- substr(extracted.values[[i]],1,3)
}

使用它也应该能够做到这lapply一点,但由于我不熟悉 的内部工作原理tm,我会坚持使用循环。用你需要的函数替换substr函数,当然左侧的数据也是如此。希望这可以帮助。

于 2013-04-18T18:11:31.633 回答