We-Co

[R] wordcloud2 - 글자로 데이터를 표현해보자! 본문

R

[R] wordcloud2 - 글자로 데이터를 표현해보자!

위기의코딩맨 2024. 3. 27. 13:31
반응형

안녕하세요. 위기의 코딩맨입니다.

오늘은 R에서 워드클라우드를 제공하고 있는 것을 알게되어서

사용 방법을 간단하게 알아보도록 하겠습니다.

 

여기서 wordcloud란?

원하는 데이터 셋을 분석하여 중요도를 고려하여 문자를 시각적으로 표현한 방법이라고 생각하시면 됩니다. 

아래의 이미지처럼 데이터 셋에서 자연어의 영역이 제일 중요도가 높은 것을 시각화 한 것을 예를 들 수 있습니다.

한글도 지원된다고하니 아주 유용하군요.

 

 

[ wordcloud ]

먼저 해당 라이브러리를 설치해야합니다.

설치를 진행하고, wordcloud2를 불러오는 코드입니다.

install.packages("wordcloud2")
library(wordcloud2)

 

그리고 사용할 데이터 셋을 불러오도록 하겠습니다.

저는 R의 내장 데이터인 mtcars를 사용하겠습니다.

 

해당 데이터셋은 미국에서 1974년도 모터 트렌드 잡지에 실린 자동차 연비와 10가지의 각종 측정치를 포함하고 있는 데이터셋입니다.

저는 배기량(CC) 데이터셋을 시각화 해보도록 하겠습니다.

carData <- mtcars

 

사용할 데이터만 꺼내오도록 합니다.

그리고 row.name을 name 컬럼으로 변경해야합니다. 

기본적으로 wordcloud에서 이름과 수치의 데이터가 존재해야하기 때문입니다.

아래는 기본적으로 바뀐 구조입니다.

carData <- carData['disp']
carData_C <- rownames_to_column(carData, var = "Name")

 

 

 

 

그리고 시각화 크기가 커지면서 작아지는 부분을 진행하기위해 정렬을 진행합니다.

해당 라이브러리가 없으면 wordcloud2 설치 방법으로 같이 설치를 진행해주세요.

그리고 데이터를 wordcloud2() 함수에 넣어주시면 됩니다.

library(dplyr)
carData_C <- carData_C %>% arrange(desc(disp))
wordcloud2(carData_C)

 

 

그러나 문제점이 있습니다. 문자열이 너무 길면 표시가 안되더라구요..?

그래서 문자열이 긴 name은 손을 좀 봐야될 것 같습니다.

반대로 데이터가 작은것부터 -> 큰것으로 시각화를 하시려면 정렬을 반대로 진행하시면 됩니다.

 

시각화 진행하면서 똑바로된 데이터로 표시하고 싶으시면 코드를 사용하시면 됩니다.

minRotation, maxRotation을 사용해서 기울기를 조절할 수 있습니다.

wordcloud2(carData_C,
            minRotation=0, 
            maxRotation=0,
            rotateRatio=1)

 

색상도 조정할 수 있습니다.

wordcloud2(carData_C,
           minRotation=-0, 
           maxRotation=-0,
           rotateRatio=1,  
           color='random-light',
           backgroundColor = "gray")

 

 

시각화하는 모양과 더 다양하게 바꿀수는 있지만

오늘은 이정도로만 간단하게 알아보도록 하겠습니다.

정말 신기한게 많군...ㅎㅎㅎ

반응형