2016-09-25 2 views
2

내 컴퓨터에서 DocumentTermMatrix를 사용할 때 단어를 소문자로 바꿉니다. 나는 낙타 사건을 보전하고 싶습니다. 어떻게해야합니까?Rtm은 DocumentTermMatrix를 사용할 때 소문자 변환을 방지합니다.

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

저는 열 이름이 hello와 world 대신 hello와 world가되도록하고 싶습니다.

+0

"안녕하세요"와 "안녕하세요"라는 단어를 별개로 취급 하시겠습니까? 그것이 보존 사례가 암시하는 바입니다. –

+0

네, 맞습니다. 나는 Hello와 hello를 별개로 취급하고 싶습니다. –

답변

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 
+0

불행히도, 나는 그것을 할 수 없습니다. 위의 예는 간단한 예제를 제공 한 것입니다. DocumentTermMatirx에 일종의 매개 변수를 전달하여이를 수행 할 수 있어야합니다. –

+0

귀하의 요구 사항에 따라 코드를 업데이트했습니다, 이것이 당신이 원하는 것이라고 생각합니다. –

+0

감사합니다. 그게 효과가 있었어. –

0

capitalize 기능 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 
관련 문제