使用DocumentTermMatrix时,R tm可防止小写转换

时间:2016-09-25 04:59:03

标签: r tm

当我在我的语料库上使用DocumentTermMatrix时,它会降低单词的含量。我想保留骆驼的情况。我该怎么做?

as.matrix(DocumentTermMatrix(Corpus(VectorSource(c("Hello", "World")))))

我希望列名称是Hello和World而不是hello和world。

2 个答案:

答案 0 :(得分:1)

您可以尝试以下黑客攻击:

words <- c("Hello", "World")
tdm <- as.data.frame(as.matrix(DocumentTermMatrix(Corpus(VectorSource(words)))))
names(tdm) <- sort(words) # need to sort alphabetically
tdm
#  Hello World
#1     1     0
#2     0     1

更清洁的方式:

words <- c("Hello", "World")
tdm <- as.data.frame(as.matrix(DocumentTermMatrix(Corpus(VectorSource(factor(words))), 
                                                         control=list(tolower=FALSE))))
tdm
#  Hello World
#1     1     0
#2     0     1

答案 1 :(得分:0)

capitalize中的{p> library(Hmisc)函数可以帮助我做初学者。

library(Hmisc)

terms <- as.matrix(DocumentTermMatrix(Corpus(VectorSource(c("Hello", "World")))))

colnames(terms) <- capitalize(colnames(terms))

terms

    Terms
Docs Hello World
  1     1     0
  2     0     1