Skip to content

Instantly share code, notes, and snippets.

@enujo
Created July 27, 2017 06:21
Show Gist options
  • Save enujo/0e10c0fe058cde22a3e93e67d9a4a6c6 to your computer and use it in GitHub Desktop.
Save enujo/0e10c0fe058cde22a3e93e67d9a4a6c6 to your computer and use it in GitHub Desktop.
getwd()
setwd("D:/BigData/Source")
# 대부분의 분석 툴은 영문을 기반으로 한다.
# 한글은 분석하기 어려움
# 한글을 분석해서 wordCloud 형식으로 출력하기 위한 library를 설치
# 한글
install.packages("KoNLP")
# 색상
install.packages("RColorBrewer")
#WordCloud
install.packages("wordcloud")
library(KoNLP)
library(RColorBrewer)
library(wordcloud)
# 한글 파일 불러오기 -> "UTF-8", "txt"
# file(파일명, encoding="")
dh <- file("./BigData/smartfarm.txt", encoding="UTF-8")
dh
class(dh)
# 파일에서 한 행씩 읽어서 dh.lines에 저장
dh.lines <- readLines(dh)
dh.lines
class(dh.lines)
# 단어들이 있는 사전을 가져오기
# 세종단어집
useSejongDic()
# 꼭 데이터 프레임 형식으로
mergeUserDic(data.frame(c("문제인","FTA","절치부심"), c("ncn")))
# 전부다 문장에서 문단으로 나누는 것/USE.NAMES 단어만 추
dh.nouns <- sapply(dh.lines, extractNoun, USE.NAMES =F)
dh.nouns
class(dh.nouns)
# table() : level들의 데이터 개수
dh.wordcloud <- table(unlist(dh.nouns))
dh.wordcloud
# wordcloud에 사용할 팔레트 선택하기 위해 팔레트를 보여줌
display.brewer.all(n=10, exact.n = F)
# 팔레트 선택
pal <- brewer.pal(8, "Set3")
# wordcloud 생성 scale 제일 큰글씨 9 제일 작은 글씨 2
wordcloud(names(dh.wordcloud), freq =dh.wordcloud,scale=c(9,2), min.freq =3, rot.per=0.1,random.order = T, colors =pal)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment