R 텍스트마이닝 연습. 책은 R까기 참고, 대상은 2014년 대통령 신년사(출처: 네이버 검색).
> setwd("D:/temp/r_temp")
> library(KoNLP)
> library(wordcloud)
> useSejongDic()
> mergeUserDic(data.frame("청마","ncn")) #위 사전에 해당 단어 추가하는 과정
1 words were added to dic_user.txt.
> mergeUserDic(data.frame("수자원공사","ncn"))
1 words were added to dic_user.txt.
> mergeUserDic(data.frame("4대강","ncn"))
1 words were added to dic_user.txt.
> mergeUserDic(data.frame("원전비리","ncn"))
1 words were added to dic_user.txt.
> mergeUserDic(data.frame("시험성적서","ncn"))
1 words were added to dic_user.txt.
> mergeUserDic(data.frame("코레일","ncn"))
1 words were added to dic_user.txt.
> mergeUserDic(data.frame("벤처창업","ncn"))
1 words were added to dic_user.txt.
> mergeUserDic(data.frame("창업경제타운","ncn"))
1 words were added to dic_user.txt.
> mergeUserDic(data.frame("창조경제추진단","ncn"))
1 words were added to dic_user.txt.
> mergeUserDic(data.frame("규제총량제","ncn"))
1 words were added to dic_user.txt.
> mergeUserDic(data.frame("세계평화공원","ncn"))
1 words were added to dic_user.txt.
> mergeUserDic(data.frame("유라시아","ncn"))
1 words were added to dic_user.txt.
> mergeUserDic(data.frame("원스톱","ncn"))
1 words were added to dic_user.txt.
> mergeUserDic(data.frame("자유학기제","ncn"))
1 words were added to dic_user.txt.
> txt<-readLines("president_lastyear.txt") # txt라는 변수에 분석용 데이터를 변수로 읽기
> place<-sapply(txt,extractNoun,USE.NAMES=F) #txt파일에서 공백을 기준으로 조사해 명사만 찾아 place라는 변수에 저장
> head(unlist(place),30) #추출된 명사를 30개만 출력하여 확인
> c<-unlist(place) # 필터링을 위해 unlist 작업을 지정해서 저장
> place<-Filter(function(x){nchar(x)>=2},c) #두 글자 이상 되는 것만 필터
> place<-gsub(" ","",place) # gsub 함수를 이용하여 불필요한 단어 삭제
> place<-gsub("해서","",place)
> place<-gsub("하기","",place)
> place<-gsub("들이","",place)
> write(unlist(place),"president_lastyear_2.txt") #파일로 저장한 후 테이블 형태로 변환
> rev<-read.table("president_lastyear_2.txt") #수정 완료된 파일을 table 형식으로 변환하여 다시 변수에 불러드림
> nrow(rev) #rev변수에 데이터가 몇 건이 있는지 조회
[1] 819
> wordcount<-table(rev) #rev변수의 값을 table형태로 변환해서 wordcount라는 변수에 할당
> head(sort(wordcount,decreasing=T),30) #빈도수 상위 30개, 많은 순으로 정렬
> library(RColorBrewer) #칼러 불러오기
> palete<-brewer.pal(9,"Set1") #색깔 지정
> wordcloud(names(wordcount),freq=wordcount,scale=c(5,1),rot.per=0.25,min.freq=3,random.order=F,random.color=T,colors=palete)#최소 3회 언급 인쇄
> savePlot("2014president_newyearmessage.png",type="png") #그림으로 저장
'Python, R 분석과 프로그래밍' 카테고리의 다른 글
dim, str, plot (0) | 2015.10.29 |
---|---|
도수분포표와 히스토그램 (0) | 2015.08.12 |
[데이터 처리 & 분석 실무] 데이터 타입 - 데이터 프레임, 판별, 변환 (0) | 2015.02.12 |
[데이터 처리 & 분석 실무] 데이터 타입 - 스칼라, 벡터, 리스트, 행렬, 배열 (0) | 2015.02.12 |
R Practice - diet_data (0) | 2015.01.19 |