본문 바로가기
R

[R 프로그래밍] 대학생 관심 대상 워드 클라우드

by 퍼포먼스마케팅코더 2017. 2. 13.
반응형

[영원한미소]


library(KoNLP)

library(wordcloud)

useSejongDic()

data1 <- readLines("forever.txt")

head(data1)

data2 <- sapply(data1, extractNoun, USE.NAMES=F)

head(data2)


data3 <- unlist(data2)

data3 <- Filter(function(x) {nchar(x) <= 5}, data3) # 5개이하 단어만 추출


head(unlist(data3), 30) #30개 단어 확인


data3 <- gsub("\\d+", "", data3) #모든숫자제거 

data3 <- gsub("\\.", "", data3) #. 제거

data3 <- gsub("\\'", "", data3) #' 제거


write(unlist(data3), "forever_2.txt") #데이터만 메모장에 저장

data4 <- read.table("forever_2.txt") #테이블로 데이터형식 바꿔서 공백 제거

nrow(data4) #row 행 개수 

wordcount <- table(data4) #테이블 내 단어 카운트 세기


head(sort(wordcount, decreasing=T), 20) #상위 20개 확인


# 필요없는 단어 제거 

data3 <- Filter(function(x) {nchar(x) >= 2}, data3) #2단어 이상 단어만 추출

data3 <- gsub("질문", " ", data3) #단어제거 

data3 <- gsub("관련", " ", data3) #단어제거

data3 <- gsub("학교", " ", data3) #단어제거

data3 <- gsub("홍익", " ", data3) #단어제거

data3 <- gsub("가능", " ", data3) #단어제거

data3 <- gsub("오늘", " ", data3) #단어제거

data3 <- gsub("이요", " ", data3) #단어제거

data3 <- gsub("이번", " ", data3) #단어제거

data3 <- gsub("학년", " ", data3) #단어제거

data3 <- gsub("신청", " ", data3) #단어제거

data3 <- gsub("언제", " ", data3) #단어제거

data3 <- gsub("이해", " ", data3) #단어제거

data3 <- gsub("홍대", " ", data3) #단어제거

data3 <- gsub("학생", " ", data3) #단어제거

data3 <- gsub("교수님", " ", data3) #단어제거

data3 <- gsub("추천", " ", data3) #단어제거

data3 <- gsub("전공", " ", data3) #단어제거

data3 <- gsub("수업", " ", data3) #단어제거

data3 <- gsub(" ", "", data3) #공백단어로 제거


head(sort(wordcount, decreasing=T), 20) #상위 20개 단어 추출


write(unlist(data3), "forever_2.txt") #데이터만 메모장에 저장

data4 <- read.table("forever_2.txt") #테이블로 데이터형식 바꿔서 공백 제거

nrow(data4) #row행 개수 확인 

wordcount <- table(data4) #테이블형식으로 data4 워드카운트

head(sort(wordcount, decreasing=T),30) #상위 30개만 보기


#워드클라우드 작성 


library(RColorBrewer)

palete <- brewer.pal(9,"Set3")

wordcloud(names(wordcount), freq=wordcount,scale=c(5,1), rot.per=0.25, min.freq=2, 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")



[사랑학개론]


library(KoNLP)

library(wordcloud)

useSejongDic()

data1 <- readLines("love.txt")

head(data1)

data2 <- sapply(data1, extractNoun, USE.NAMES=F)

head(data2)


data3 <- unlist(data2)

data3 <- Filter(function(x) {nchar(x) <= 5}, data3) # 5개이하 단어만 추출


head(unlist(data3), 30) #30개 단어 확인


data3 <- gsub("\\.", "", data3) #. 제거

data3 <- gsub("\\'", "", data3) #' 제거


write(unlist(data3), "love_2.txt") #데이터만 메모장에 저장

data4 <- read.table("love_2.txt") #테이블로 데이터형식 바꿔서 공백 제거

nrow(data4) #row 행 개수 

wordcount <- table(data4) #테이블 내 단어 카운트 세기


head(sort(wordcount, decreasing=T), 20) #상위 20개 확인


# 필요없는 단어 제거 

data3 <- Filter(function(x) {nchar(x) >= 2}, data3) #2단어 이상 단어만 추출

data3 <- gsub("질문", " ", data3) #단어제거 

data3 <- gsub("관련", " ", data3) #단어제거

data3 <- gsub("학교", " ", data3) #단어제거

data3 <- gsub("홍익", " ", data3) #단어제거

data3 <- gsub("가능", " ", data3) #단어제거

data3 <- gsub("오늘", " ", data3) #단어제거

data3 <- gsub("이요", " ", data3) #단어제거

data3 <- gsub("이번", " ", data3) #단어제거

data3 <- gsub("학년", " ", data3) #단어제거

data3 <- gsub("신청", " ", data3) #단어제거

data3 <- gsub("언제", " ", data3) #단어제거

data3 <- gsub("이해", " ", data3) #단어제거

data3 <- gsub("홍대", " ", data3) #단어제거

data3 <- gsub("학생", " ", data3) #단어제거

data3 <- gsub("교수님", " ", data3) #단어제거

data3 <- gsub("추천", " ", data3) #단어제거

data3 <- gsub("전공", " ", data3) #단어제거

data3 <- gsub("수업", " ", data3) #단어제거

data3 <- gsub("여자", " ", data3) #단어제거

data3 <- gsub("남자", " ", data3) #단어제거

data3 <- gsub("친구", " ", data3) #단어제거

data3 <- gsub("연애", " ", data3) #단어제거

data3 <- gsub("사람", " ", data3) #단어제거

data3 <- gsub("여성", " ", data3) #단어제거

data3 <- gsub(" ", "", data3) #공백단어로 제거


head(sort(wordcount, decreasing=T), 20) #상위 20개 단어 추출


write(unlist(data3), "love_2.txt") #데이터만 메모장에 저장

data4 <- read.table("love_2.txt") #테이블로 데이터형식 바꿔서 공백 제거

nrow(data4) #row행 개수 확인 

wordcount <- table(data4) #테이블형식으로 data4 워드카운트

head(sort(wordcount, decreasing=T),30) #상위 30개만 보기


#워드클라우드 작성 


library(RColorBrewer)

palete <- brewer.pal(9,"Set3")

wordcloud(names(wordcount), freq=wordcount,scale=c(5,1), rot.per=0.25, min.freq=2, 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")





[영원한미소 워드클라우드]


[사랑학개론 워드클라우드]



반응형

댓글