We-Co

[R] dotchart() - 점표도를 활용하여 데이터를 시각화해보자! 본문

R

[R] dotchart() - 점표도를 활용하여 데이터를 시각화해보자!

위기의코딩맨 2024. 3. 12. 13:16
반응형

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

오늘은 R을 통해서 점표도를 그려보도록 하겠습니다.

우선 dotchart()와 친해져보도록 하겠습니다.

 

[ dotchart() ]

바로 사용해보도록 하겠습니다.

먼저 1~12월을 생성해서 날짜와 이름을 설정하고 

dotchart를 통해서 그래프를 생성했습니다.

month <- matrix(1:12, ncol = 3)
rownames(month) <- paste("Row", 1:4)
colnames(month) <- paste("Col", 1:3)
dotchart(as.vector(month), label = month.abb)
title(main = "x is a vector")

 

여기서 중요한점은 모두 행렬로 구성을 했지만, dotchart는 행렬을 벡터로 변환하여 점을 그린다는 것입니다.

month.abb는 R에서 제공하는 날짜 개념의 월의 이름을 영어로 제공해 줍니다.

이것을 label 사용하여 적용했습니다.

결과로는 아래 이미지 처럼 그래프가 생성되게 됩니다.

 

여기서 조금 더 응용해서 그룹화를 해서 그래프를 생성할 수 있습니다.

name을 1,2,3,4QT로 작성하고, month에 그룹화를 적용합니다.

dotchart에 적용된 quarter를 적용해서 출력해봅시다.

quarter.name <- c("1QT", "2QT", "3QT", "4QT") 
quarter <- factor(row(month), label = quarter.name)

dotchart(month, groups = quarter)
title(main = "groups = quarter")

 

색상과 글자 크기도 지정할 수 있습니다.

dotchart(month, cex=1.1, bg="red")

 

 

 

 

 

이제 R의 내장된 데이터를 갖고 조금 더 깊게 알아보도록  하겠습니다.

mtcars의 데이터를 가져와서 mpg 값을 x에 적용합니다.

x$cyl에 factor를 사용하여 변환을 진행합니다. [ 사용 용이성, 메모리 감소 ]

x <-  mtcars[order(mtcars$mpg),]
x$cyl <- factor(x$cyl)

 

그리고 데이터를 기반으로 색상을 표현하도록 합니다.

4는 빨강, 6은 초록 다른 것은 파랑 이런식으로 표현해보도록 하겠습니다.

해당 mpg 값을 적용하고, 이름, 사이즈를 조절하고 x$cyl로 그룹화를 진행합니다.

마지막으로 위에서 설정한 컬러 값을 지정하고 출력합니다.

colors_by_cyl <- ifelse(x$cyl == 4, "red", ifelse(x$cyl == 6, "green", "blue"))
dotchart(x$mpg, labels =row.names(x), cex =.7, groups= x$cyl, main= "TEST", xlab="Miles", gcolor="black", color = colors_by_cyl)

 

 

dotchart()함수를 이용하여 그룹화를 진행하고 표현하는 방법을 알아보았습니다.

앞으로 다양한 함수로 표현하는 방법을 알아보도록 하겠습니다.

 

반응형