R DocumentTermMatrix失去的结果小于100

时间:2014-06-24 13:49:11

标签: r corpus term-document-matrix

我试图将语料库输入DocumentTermMatrix(我简称为DTM)来获得术语频率,但我注意到DTM并没有保留所有术语,我也不知道为什么!看看:

A<-c(" 95 94 89 91 90 102 103 100 101 98 99 97 110 108 109 106 107")
B<-c(" 95 94 89 91 90 102 103 100 101 98 99 97 110 108 109 106 107")
C<-Corpus(VectorSource(c(A,B)))
inspect(C)

>A corpus with 2 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 
>
>[[1]]
> 95 94 89 91 90 102 103 100 101 98 99 97 110 108 109 106 107
>
>[[2]]
> 95 94 89 91 90 102 103 100 101 98 99 97 110 108 109 106 107

到目前为止一切顺利。

但是现在,我尝试将C提供给DTM并且它不会从另一端出来!参见:

> dtm<-DocumentTermMatrix(C)
> colnames(dtm)
>[1] "100" "101" "102" "103" "106" "107" "108" "109" "110"

所有结果在哪里都不到100?或者它是不是两个字符的东西?我也尝试过:

dtm<-DocumentTermMatrix(C,control=list(c(1,Inf)))

dtm<-TermDocumentMatrix(C,control=list(c(1,Inf)))

无济于事。是什么赋予了?

1 个答案:

答案 0 :(得分:3)

如果您阅读了?TermDocumentMatrix帮助页面,则可以看到control=帮助页面中列出了其他?termFreq个选项。

有一个wordLengths参数可以过滤矩阵中使用的单词的长度。默认为c(3,Inf),因此不包括两个字符的单词。尝试将值设置为control=list(wordLengths=c(2,Inf)以包含这些短字。 (请注意,在传递控制参数时,您应该在列表中命名参数。)