我猜测这种技术与从任何数据框中取前N个字符相似,无论它是否是语料库。如何取每个语料库的前25个单词(R)?
我尝试:
create.greetings <- function(corpus, create_df = FALSE) {
for(i in length(Charlotte.corpus.raw)) {
Doc1<-Charlotte.corpus.raw[i]
Word1<-Doc1[1:25]
Greetings[i]<-Word1
}
return(VCorpus)
}
凡Greetings
开始与N = 6语料库。我无法弄清楚如何制作一个空的语料库,或者是一个足够大的字符的语料库。我在这里有200个文件的文集(Charlotte.corpus.raw
)。与矢量(以及扩展,数据框)不同,创建空语料库似乎不是一种简单的方法。
问题的一部分是,R似乎没有认识到“文档”类。它只承认语料库。也就是说,对于R来说,单个文档是n = 1的语料库。
可再现的样品: 您将需要“以旧换新”和“dplyr”和“NLP”封装以及更常见的R封装
read.corpus <- function(directory, pattern = "", to.lower = TRUE) {
corpus <- DirSource(directory = directory, pattern = pattern) %>%
VCorpus # Read files and create `VCorpus` object
if(to.lower == TRUE) corpus <- # Lowercase text
tm_map(corpus,
content_transformer(tolower))
return(corpus)
}
然后运行你有几个任意目录功能txt文档,那么你有一个语料库可以使用。然后将上面的Charlotte.corpus.raw替换成你的语料库中的任何名称。
是您的“文集”本质上只是一个字符串的载体,用空格分隔的字,每个句子被/段落?请提供一个[可重现的示例](http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example),特别是小但具有代表性的示例数据。 – r2evans
@ r2evans我刚刚编辑的内容如何?我认为你们使用已经存储在电脑上的数据会更方便。 – Antecedent
对不起,我不能在这个系统上安装'tm'(package'slam'不适用于R-3.2.5/win),所以我不能用你的代码进行测试。除非'tm_map'可以做到这一点,否则我不在。 – r2evans