R 각종통계3: 워드클라우드

R 각종통계3: 워드클라우드

0. csv 파일 준비

x<-read.table(“c:/image/sales.csv”,sep=”,”,header=TRUE)

sales.csv

no,id,sex,age,goods_name,account,sale_price,total_price,sale_day,sale_week,sale_wh_day
1,hong,남자,25,흰색 스포츠화,31000,31000,31000,1,금,평일
7,hong,남자,25,흰색 스포츠화,31000,31000,31000,19,수,평일
16,hong,남자,25,에어조던,9000,9000,9000,5,수,평일
2,hong,남자,25,흰색 스포츠화,31000,31000,31000,9,월,평일
3,hong,남자,25,흰색 스포츠화,31000,31000,31000,30,월,평일
4,hong,남자,25,흰색 스포츠화,31000,31000,31000,17,수,평일
5,hong,남자,25,흰색 스포츠화,31000,31000,31000,23,월,평일
6,hong,남자,25,흰색 스포츠화,31000,31000,31000,29,월,평일
9,hong,남자,25,흰색 스포츠화,31000,31000,31000,14,월,평일
10,hong,남자,25,흰색 스포츠화,31000,31000,31000,19,토,공휴일
13,hong,남자,25,흰색 스포츠화,31000,31000,31000,5,목,평일
14,hong,남자,25,흰색 스포츠화,31000,31000,31000,20,금,평일
15,hong,남자,25,회색 뉴발란스,80000,80000,80000,1,일,공휴일
8,hong,남자,25,흰색 스포츠화,31000,31000,31000,18,금,평일
11,hong,남자,25,흰색 스포츠화,31000,31000,31000,26,목,평일
12,hong,남자,25,흰색 스포츠화,31000,31000,31000,11,화,평일
17,hong,남자,25,흰색 스포츠화,1,31000,31000,17,월,평일
18,hong,남자,25,에어조던,1,9000,9000,8,월,평일

 

1. R 소스
library(wordcloud)
item.x <-sort(x$goods_name, decreasing = TRUE)
item.df <-x[x$goods_name%in% names(item.x[1:450]), ]
item.table <-table(x$goods_name)
word.name <-names(item.table)
item.table <-as.matrix(item.table)
freqs <-rowSums(item.table)
col <-brewer.pal(8, ‘Dark2’)
wordcloud(x$goods_name, min.freq = 1, scale = c(5, 0.2), col = col , random.order = FALSE)

2. 자바 소스

//구매횟수 상위 450개의 세분류 상품추출
    rc.voidEval(“library(wordcloud)”);
    rc.voidEval(“item.x <-sort(x$goods_name, decreasing = TRUE)”);
    rc.voidEval(“item.df <-x[x$goods_name%in% names(item.x[1:450]), ]”);
   
    //woldcloud 수행
    rc.voidEval(“item.table <-table(x$goods_name)”);
    //세분류명지정
    rc.voidEval(“word.name <-names(item.table)”);
    
    //빈도수지정
    rc.voidEval(“item.table <-as.matrix(item.table)”);
    rc.voidEval(“freqs <-rowSums(item.table)”);
    
    //색지정
    rc.voidEval(“col <-brewer.pal(8, ‘Dark2’)”);
    
    //wordcloud 함수실행
    rc.voidEval(“wordcloud(words = word.name, freq = freqs, min.freq = 1, scale = c(5, 0.2), col = col , random.order = FALSE)”);

3. 짧은 버젼

3-1. R 소스

library(wordcloud)
wordcloud(x$goods_name, min.freq = 1, scale = c(5, 0.2), col = rainbow(100) , random.order = FALSE)

3-2. 자바 소스

rc.voidEval(“library(wordcloud)”);
rc.voidEval(“wordcloud(x$goods_name, min.freq = 1, scale = c(5, 0.2), col = rainbow(100) , random.order = FALSE)”);