-
[R] 2. R 실전 예제 Part 1CSE/R 2015. 7. 13. 17:54
Chapter 2. R 실전 예제
1. 워드 클라우드(Word Cloud)
- 비정형 데이터를 분석하여 워드 클라우드를 생성하겠습니다.
- 각각의 데이터 Set에 대해서는 자신이 워드 클라우드를 생성할 목적인 데이터로 진행하시면 재밌으리라 생각됩니다.
- 혹여 없는 경우 아래 첨부파일을 통해 진행하세요.
- 아래 명령어를 입력하여 작업 디렉토리를 지정합니다.(r_temp 폴더를 만들어 두신다음 입력하세요. r_temp에 파일을 저장합니다.)
setwd("C:\\r_temp")
- 다음으로 필요한 필요한 패키지에 대해서 설치 한 후 R에 Loading 하겠습니다.
install.packages("KoNLP")
install.packages("wordcloud")
library(KoNLP)
library(wordcloud)
useSejongDic()
- 다음은 클라우드 처리할 데이터를 변수로 읽어들입니다.
data1 <- readLines("exo_data.txt")
data1
- 데이터 중에서 명사만 골라낸 후 nouns 변수에 할당합니다.
data2 <- sapply(data1, extractNoun, USE.NAMES=F)
data2
- 추출된 명사를 30개 만 출력해서 확인합니다.
head(unlist(data2), 30)
- 추출된 데이터에 보시면 날짜, 시간 위주와 한 글자인 것들이 있습니다.
- 위와 같은 데이터를 가려내기 위해 filter를 이용해서 다시 걸러내겠습니다.
- 아래 예제는 2개 이상의 글자만 걸러내는 예제입니다.
data3 <- unlist(data2)
data3 <- Filter(function(x) {nchar(x) >= 2}, data3)
- 다음으로 원하지 않는 내용을 걸러내기 위한 gsub 함수를 이용하겠습니다.
- 사용법은 아래와 같습니다.
gsub("변경전 글자", "변경후 글자", "원본데이터")
- 그럼 모든 숫자를 없애고, 여러 단어들을 없애서 걸러내겠습니다.
- 먼저 숫자를 모두 없애는 명령어 입니다.
data3 <- gsub("\\d+","", data3)
- 다음으로 제가 생각하기에 필요없는 단어들을 걸러내겠습니다.
data3 <- gsub("palpit", "", data3)
data3 <- gsub("log", "", data3)
data3 <- gsub(" ", "", data3)data3 <- gsub("-", "", data3)data3 <- gsub(")", "", data3)- 이렇게 걸러낸 데이터를 write 해서 txt 파일로 내보내겠습니다.write(unlist(data3), "exo_filtered.txt")- 수정된 파일을 read.table 명령으로 다시 불러들입니다. 공백이 사라집니다.
data4 <- read.table("exo_filtered.txt")
- 화면에 출력하기 전에 결과를 확인해보겠습니다.
nrow(data4)
- 다음으로 단어들이 각각 몇 번 나왔는지 table 명령어로 정리해서 wordcount에 저장하겠습니다.
wordcount <- table(data4)
- 데이터가 많아서 보기 불편하다면, head와 sort 명령으로 정리 할 수 있습니다.
head(sort(wordcount, decreasing=T), 20)
- 다음으로 Word Cloud 형태로 출력합니다.
library(RColorBrewer)
palete <- brewer.pal(9, "Set3")
wordcloud(names(wordcount), freq=wordcount, scale=c(5, 1), rot.per=0.25,min.freq=1,
random.order=F, random.color=T, colors=palete)
legend(0.3, 1, "마이 블로그 랭킹 워드 ",cex=0.8, fill=NA, border=NA, bg="white",
text.col="red", text.font=2, box.col="red")
savePlot("exo.png", type="png")
자 이렇게 해서 아래와 같은 word cloud가 완성되었습니다.
이렇게 해서 word cloud 예제를 해보았습니다.
다음 장에서는 그래프로 나타내기 위한 예제를 진행하도록 하겠습니다.
* 이 포스트는 서적 'R라뷰: R을 활용한 데이터 분석 입문편'을 참고하여 작성한 포스트입니다.
'CSE > R' 카테고리의 다른 글
[R] 3. R 실전 예제 Part 2 (0) 2015.07.13 [R] 1. R 설치 및 구동 (0) 2015.07.13