반응형
R프로그램으로 워드클라우드를 만드는 일반적인 방법으로 KoNLP 가 있는데
RHINO 라는 패키지로도 만들수가 있습니다. RHINO를 사용해 만들어보겠습니다.
RHINO가 좀 더 깔끔하게 나타내 주는거같습니다.
데이터는 고양시 소상공인 대상으로한 '코로나19 이후 매출에대한 방안'의 주관식 의견만 모은 데이터를 사용하였습니다.
*java window 64를 꼭 설치해야 합니다.
*RHINO패키지가 잘 설치되지 않는다면 직접다운받아서 library에 넣어줍니다.
(.libPath() 명령어로 본인의 library 위치를 확인 할 수 있습니다.)
if(!require(devtools)) {install.packages("devtools");library(devtools)}
if(!require(RHINO)) {install_github("SukjaeChoi/RHINO");library(RHINO)}
#다운이 되지 않는다면 첨부파일에서 직접 RHINO를 다운받아서 라이브러리에 넣는다.
#java 윈도우 64설치함.
library(RHINO)
initRhino() # RHINO 시동 걸기
txt <- readLines("sample.txt") #분석하고 싶은 텍스트 파일 불러오기
noun <- lapply(txt, getMorph, "noun") #텍스트파일을 getMorph로 "noun" 옵션으로 명사로 분해한다.
nounVec <- unlist(noun)
nounMax <- matrix(nounVec) #메트릭스로
nounFrame <- as.data.frame(nounMax) #데이터프레임으로
nounFreq <- table(nounFrame)
head(sort(nounFreq, decreasing = T), 20)
#색상 준비 및 그리기
install.packages("RColorBrewer") # Rtools 설치하라고 Warning 나오는데 패키지 설치는 일단 됌.
library(RColorBrewer)
install.packages("wordcloud") # Rtools 설치하라고 Warning 나오는데 패키지 설치는 일단 됌.
library(wordcloud)
pal <- brewer.pal(12,"Set3")
wordcloud(names(nounFreq), freq= nounFreq, scale = c(5,0.5), rot.per=0.25, min.freq = 2, random.order= F, random.color=T, colors= pal)
"지역 지원금 필요"
"고양 페이"
"지역 화폐 지원
"소비 확대"
"세금 감면"
이번에는 파이차트와 막대그래프로도 그려보겠습니다.
library(RColorBrewer)
top <- head(sort(nounFreq, decreasing = T), 10)
pal <- brewer.pal(9,"Set3") # 색상선정
percent <- round(top/sum(top)*100, digits = 2) #백분율 ,소수점 둘째자리
label <- paste(names(top), "\n",percent,"%") #라벨로 만듬.
pie(top, main= "키워드", col=pal, labels= label) #라벨 부착
barplot(top)
pal <- brewer.pal(12,"Set3") # 색상선정
percent <- round(top/sum(top)*100, digits = 1) #백분율 , 소수점 둘째자리
barplot(top, main = "키워드", col= pal, las=2) #기울기, 결과는 벡터
text(x=bp,y=top-3.0, labels = paste(percent,"%"),col="black",cex=0.5)
text(x=bp,y=top+5.0, labels =paste("(",top,"건)"),col="black",cex=0.7)
제가 못그려서 그런지 저는 워드클라우드가 제일 예쁜거같네요..
ggplot으로 그리면 좀 더 나을거같은데 다음에 다시 해봐야겠습니다.
반응형
'R프로그래밍,통계학' 카테고리의 다른 글
트위터 크롤링을 통한 비정형 데이터 분석(트위터 API 받는 법) (0) | 2020.08.12 |
---|---|
R에서 그린 이미지,그래프 내보내는방법(png) (0) | 2020.08.06 |
R 길어진 코드 자동 줄바꿈 하는 방법 (0) | 2020.07.27 |
(R)구글 API 키 가져오는 방법(2020년 7월 26일) (1) | 2020.07.26 |
ggmap 으로 2011년 관서별 방화발생횟수 크기로 표현해보기 (0) | 2020.07.26 |