2013-05-21 2 views
1

저는 R을 처음 사용합니다. 저는 CSV 파일에있는 데이터를 마이닝하고 있습니다. 한 열의 보고서 요약, 다른 열의 보고서 날짜 및 세 번째 열의 보고서 대행사입니다. '사기'와 관련된 용어가 시간이 지남에 따라 변하거나 대행사에 따라 어떻게 달라지는 지 조사해야합니다. '사기'라는 단어가 포함 된 행을 필터링하고 새 CSV 파일을 만들었습니다.csv 파일에서 2 열을 사용하여 term frequency 행렬을 만듭니다.

년으로 행과 용어로 용어 freq 행렬을 만들어서 어떻게 최상위 freq 조건을 찾고 클러스터링을 할 수 있습니까?

는 기본적으로, 향후 년

Input data: (csv) 
**Year** **Summary** (around 300 words each)  
1945    <text> 
1985    <text> 
2011    <text> 

Desired 0utput : (Term frequency matrix) 

     term1  term2 term3 term4 ....... 
1945  3   5  7  8 ..... 
1985  1   2  0  7 ..... 
2011  .   . .  

Any help would be greatly appreciated. 
+0

올드을 질문이 명확하지 않아 폐쇄되었습니다. 죄송합니다. 전 여기 새로 왔습니다. 추가 데이터를 추가했습니다. – koder

+0

나중에 참조 할 수 있도록 closed는 "dead"를 의미하지 않습니다. 닫힌 질문은 편집을 통해 질문을 개선 할 수있을 때까지 "제한 시간"으로 사용됩니다. (개선이 불가능한 경우 일정 시간이 지나면 일반적으로 삭제 될 것입니다.) "폐쇄적 인"용어는 그 점에서 다소 오해의 소지가 있으며 현재 일부 개정판을 겪고 있습니다. – joran

+1

여부에 관계없이 귀하의 질문은 우리가 여기에서 촬영하는 표준에 달려 있습니다. 예를 들어, "term frequency matrix in r"이라는 인터넷 검색은 빠르게 ** tm ** 패키지로 연결됩니다. 먼저 특정 도구를 조사하고 몇 가지 시도를 한 후 특정 코드 조각이 작동하지 않을 때 도움을 요청해야합니다. – joran

답변

4

에 대해 최소한의 작업 예제를 제공하시기 바랍니다 용어의 용어 주파수 매트릭스를 작성해야합니다.

정확히 TM를 사용하지 않고는 적당으로 대신 데이터는 더 나은 qdap 입력 :

t(with(dat, wfm(summary, year))) 

##  about already am are be ... you 
## 1945  0  0 0 0 0  0 
## 1946  0  0 0 0 0  0 
## 1947  0  0 0 0 0  0 
## 1948  0  0 0 0 0  1 
## 1949  0  0 1 0 0  0 
## 1950  0  0 0 0 1  0 
## 1951  0  0 0 0 0  0 
## 1952  0  0 0 0 0  1 
## 1953  1  0 0 1 0  1 
## 1954  0  0 0 0 0  0 
## 1955  0  1 0 0 0  1 
:

library(qdap) 
#create a fake data set (please do this in the future yourself) 
dat <- data.frame(year=1945:(1945+10), summary=DATA$state) 

## year        summary 
## 1 1945   Computer is fun. Not too fun. 
## 2 1946    No it's not, it's dumb. 
## 3 1947     What should we do? 
## 4 1948     You liar, it stinks! 
## 5 1949    I am telling the truth! 
## 6 1950    How can we be certain? 
## 7 1951      There is no way. 
## 8 1952      I distrust you. 
## 9 1953   What are you talking about? 
## 10 1954   Shall we move on? Good then. 
## 11 1955 I'm hungry. Let's eat. You already? 

지금 (용어 문서 매트릭스 유사) 단어 빈도 행렬을 만들

또는 당신은 qdap version 1.1.0의 같은 트루 DocumentTermMatrix 만들 수 있습니다

with(dat, dtm(summary, year)) 

## > with(dat, dtm(summary, year)) 
## A document-term matrix (11 documents, 41 terms) 
## 
## Non-/sparse entries: 51/400 
## Sparsity   : 89% 
## Maximal term length: 8 
## Weighting   : term frequency (tf) 
+0

편리한 기능! 당신의'wfm'은'tm' 패키지에서'DataframeSource'를 사용하는 것보다 훨씬 쉽습니다. – Ben

+0

이 유형의 데이터는 더 쉽지만 (tm이 설계된) 코퍼스 데이터의 경우 훨씬 쉽습니다. –

+0

아름다운! 고마워 타일러. 이 코드를 시도 할 것입니다. 내 CSV 파일에는 98000 개의 행이 있습니다. 전체 코퍼스에 대해 동일한 코드를 제안 하시겠습니까? 또한 '사기'와 관련된 용어가 시간이 지남에 따라 변하거나 대행사에 따라 어떻게 달라지는 지 조사하는 방법은 무엇입니까? 클러스터링을 할 수 있습니까? – koder

관련 문제