2013-04-18 55 views
0

设定笔者在语料库中每个文档我有一个TM语料库对象是这样的:如何通过解析文档ID

> 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" 

如何对作业进行批处理?

回答

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函数替换为您需要的函数,当然也可以使用左侧的数据。希望这可以帮助。

+0

meta {tm} description http://www.inside-r.org/packages/cran/tm/docs/meta。 'tm'有一个被称为“原油”的数据集。尽管我对ID的特定解析不适用,但如果要将其用于测试,则应用任何函数都可以。 – dnagirl

+0

'lapply'返回一个列表。我需要编辑语料库。 – dnagirl