# 블로거 들 이 추천 하 는 서울 명소 분석 하 기 #" seoul _ go . txt " 파일 을 사용 하 여 # 블로거 들 이 추천 하 는 서울 명소 들 워드 클라우드 로 생 성 #( 서울 명소 추가 : 서울 명소 merge . txt ) #( 제거 단어 : 서울 명소 gsub . txt ) # 필요 패키지 설치 할 때 이미 설치 가 되 어 있 어서 경고 가 나오 니 무시 library ( KoNLP ) library ( wordcloud ) library ( stringr ) useSejongDic ( ) # 세종 사전 에 사용 자 사전 을 merge 함 ( 서울 명소 추가 ) mergeUserDic ( data . frame ( readLines ( "./ Data 6 _ prj / 서울 명소 merge . txt ")," ncn "))# 명사 , 조사 , 있 는데 명사 추가 txt <- readLines ( "./ Data 6 _ prj / seoul _ go . txt ") # 블로그 텍스트 place <- sapply ( txt , extractNoun , USE . NAMES = F ) # 블로그 텍스트 에서 명사 추출 후 벡터 또는 행렬 로 반환 한다 . # sapply 하 고 as . data . frame 같 은 거 해 줘야 함 함 head ( place , 10 ) head ( unlist ( place ) , 39 ) # 알파벳 은 공백 없이 바꿔치기 c <- unlist ( place ) res <- str _ replace _ all ( c , "[^[: alpha : ] ] ","")# 라인 별 로 읽 어 와서 몇 개 단어 읽 었 는지 1 : 라인수 txt <- readLines ( "./ Data 6 _ prj / 서울 명소 gsub . txt ") # 없앨 listcnt _ txt <- length ( txt ) cnt _ txtfor ( i in 1 : cnt _ txt ) { res <- gsub ( ( txt [ i ] ) , "", res ) } res 2 <- Filter ( function ( x ) { nchar ( x ) >= 2 }, res ) nrow ( res 2 ) write ( res 2 , "./ result _ files / seoul _ go 2 . txt ") res 3 <- read . table ( "./ result _ files / seoul _ go 2 . txt ") wordcount <- table ( res 3 ) head ( sort ( wordcount , decreasing = T ) , 30 ) # 역순 으로 30 개 pal <- brewer . pal ( 8 , " Set 2 ") wordcloud ( names ( wordcount ) , freq = wordcount , sclae = c ( 3 , 1 ) , rot . per = 0 . 25 , min . freq = 5 , random . order = F , random . color = T , colors = pal ) legend ( 0 . 3 , 1 , " 블로거 추천 서울 명소 분석 ", cex = 0 . 6 , fill = NA , border = NA , bg =" white ", text . col =" red ", text . font = 2 , box . col =" red ")​