我试图将语料库输入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)))
无济于事。是什么赋予了?
答案 0 :(得分:3)
如果您阅读了?TermDocumentMatrix
帮助页面,则可以看到control=
帮助页面中列出了其他?termFreq
个选项。
有一个wordLengths参数可以过滤矩阵中使用的单词的长度。默认为c(3,Inf)
,因此不包括两个字符的单词。尝试将值设置为control=list(wordLengths=c(2,Inf)
以包含这些短字。 (请注意,在传递控制参数时,您应该在列表中命名参数。)