2014-07-15 3 views
0

용어 문서 행렬을 플롯하려고하지만, 코퍼스 생성에 문제가 있습니다. 텍스트를 선택하고 클립 보드로 복사하여 코퍼스를 생성 할 수 있기를 원합니다. 예를 들어 Lorem Ipsum 데이터의 150 개 단락에서 플롯 된 TDM을 원합니다.클립 보드에서 용어 문서 행렬을 그려야합니다.

이 부분은 여기에 다음 부분은 (이 일 경우), 오프 상관 관계를 얻을 수있는 문서의 무리에 clipboard2을 분할하는 것과 lipsum.com

library("tm") 

#generate a corpus from clipboard 
clipboard2 <- read.table("clipboard",sep="\r") 

에서 워드 데이터에 그리기위한 것입니다. 문서를 만드는 것보다 쉬운 솔루션이 있다고 생각합니다. 그런 다음 문서를 다시 읽어서 코퍼스를 위해 다시 읽습니다.

#how many docs to print out for correlations sake 
for (i in 1:10) { 
    start <- floor(1 + (i-1) * nrow(clipboard2)/10) 
    end <- i * nrow(clipboard2)/10 
    write.table(clipboard2[start:end, 1], 
       paste0("C:/Users/me/Documents/", i ,".txt", collapse=""), sep="\t") 
} 

문서의 코퍼스를 변수로 가져 오는 것. lipsum.com 데이터를 수동으로 일부 디렉토리의 일부 문서로 분할하면이 시점부터 모든 것이 잘 수행됩니다.

#Corpus collection 
feedback <- Corpus(DirSource("C:/Users/me/Documents/")) 

여기에 약간의 중복이있을 수 있지만 단어와 공백을 제거하십시오. 그런 다음 TDM을 만듭니다.

마지막으로 TDM을 플로팅합니다. 여기에는 문제가 없습니다.

#plotting TDM 
plot(tdm, 
    terms = findFreqTerms(tdm, lowfreq = 70), 
    corThreshold = 0.6) 
    ) 

답변

1

그것은 당신에 대해 요구하고 있지만, 지금까지 직접 신체에 클립 보드에서 읽기와 같은, 당신은 각각의 새 문서를 만들 것이다

dd <- read.table("clipboard", sep="\r", stringsAsFactors=F) 
feedback <- Corpus(VectorSource(dd$V1)) 

를 사용할 수있는 부분을 나에게 다소 불분명 절. 그러나 아이디어는 문자 벡터를 소스로 사용하여 벡터의 요소를 축소/병합하여 더 복잡한 문서를 만들 수 있다는 것입니다.

+0

Gutenberg.org의 책과 같은 일부 샘플 텍스트의 경우 단락은 여러 줄로 나뉘며 corThreshold 방법을 사용하여 세부 사항을 볼 수 있습니다. 벡터에 큰 덩어리를 붕괴/병합하라는 명령이 있습니까? – AI52487963

+0

정확히 어떤 명령을 실행하고 있는지, 어떤 내용을보고 있는지 잘 모르겠습니다. 그러나이 질문과 무관 한 것으로 들립니다. 새로운 것을 시작하는 것이 더 나을지도 모릅니다. – MrFlick

관련 문제