# 소스
setwd("c:\\r_temp") # 저장경로
install.packages("KoNLP") # 한글처리 (한 번 하고나면 안해도 된다)
install.packages("wordcloud")
install.packages("stringr")
library(KoNLP)
library(wordcloud)
library(stringr)
useSejongDic() # 세종 사전을 쓰겠다.
# 아래의 작업은 사전에 없는 단어를 입력하여 저장하는 작업이다.
# 제주관광포인트를 세종사전에 추가 등록
mergeUserDic(data.frame(readLines("제주도여행지.txt"),"ncn"))
############
# 제주도 안내 문장을 분석하기 위해 메모리로 가져오기
txt <- readLines("jeju.txt")
place <- sapply(txt,extractNoun,USE.NAMES=F)
place
xxx <- head(unlist(place),30)
xxx
cdata <- unlist(place)
cdata
######전처리 작업
# 사전에서 의미없는 단어, 공백 지우기
# 정규표현식 한글과 영어외에는 전부 삭제하라.
place <- str_replace_all(cdata,"[^[:alpha:]]","")
place <- gsub(" ","",place) # 공백 제거
txt <- readLines("제주도여행코스gsub.txt")
cnt_txt <- len(txt) #length -> 숫자세기
cnt_txt
for(i in 1:cnt_txt){
place <- gsub((txt[i]),"",place)
}
place
# 글자 한자로 이루어진 단어 제거
place <- Filter(function(x){nchar(x) >= 2},place)
write(unlist(place),"jeju2.txt")
rev <- read.table("jeju2.txt")
nrow(rev)
wordcount <- table(rev)
head(sort(wordcount,decreasing=T),30) # 내림차순 decreasing=T F는 오름차순
# 원형 그래프
top10 <- head(sort(wordcount,decreasing=T),10)
pie(top10,col=rainbow(10),radiua=1,main="제주도 추천 여행코스 TOP 10!") #파이그래프
# 원형 그래프에 %(퍼센트)나타내기
pct <- round(top10/sum(top10)*100,1)
names(top10)
lab <- paste(names(top10),"\n",pct,"%")
pie(top10,col=rainbow(10),cex=0.8,labels=lab,main="제주도 추천 여행코스 TOP 10!")
# 막대그래프로 그려보기
bchart <- head(sort(wordcount,decreasing=T),10)
bchart
bp <- barplot(bchart,main="제주도 추천 여행 코스 TOP 10",col=rainbow(10),cex.names=0.7,las=2,ylim=c(0,25))
pct <- round(bchart/sum(bchart)*100,1)
text(x=bp,y=bchart*1.05,labels=paste("(",pct,"%",")"),cex=0.7,col="black")
text(x=bp,y=bchart*0.95,labels=paste(bchart,"건"),cex=0.7,col="black")
필요한텍스트파일들모음.zip
첫댓글 녹차 제거 해야 겠네요