在R中的多个文本文件中运行korPus文本挖掘功能

时间:2015-01-30 09:04:02

标签: r for-loop tokenize lapply pos-tagger

我想在一堆korPus文件中运行库txt中的两个R函数。首先,我想要tokenizetreetag这些文本,然后在输出上运行MTLD并将结果保存在单个文档中。我正在尝试使用lapplyfor loop执行此操作。这两个命令的基本语法很简单:

tokenized_1 <- tokenize("txt", lang="en")
MLTD(tokenized_1)

我尝试了以下

files <- list.files(path="path/to/dir", pattern="*.txt", full.names=T, recursive=FALSE)
tokenized<-(lapply(files, tokenize, lang='en'))

但是,这会将所有结果合并为一个文件,而我想分别浏览所有文件。此外,它还为MTLD函数创建了一个无效的类。

我熟悉来自for loop的{​​{1}},我认为这会做我想做的事,但

shell scripting

什么都不做。我知道这是一种非常天真和简单的方法,但我不是一个非常有经验的for (i in files){tokenize(i, lang='en')} 用户。

1 个答案:

答案 0 :(得分:2)

使用lapply

filenames <- list.files(pattern="*.txt")
text.tagged <- lapply(filenames, function(x) treetag(x, treetagger="manual", lang="en",
                                                     TT.options=list(path=filepath, preset="en")))

text.tagged[1]