데이터 다루기/데이터 시각화
[R을 활용한 시각화] 8. ggplot2 (Violin plot)
분석벌레
2020. 12. 10. 01:41
728x90
반응형
이번 포스팅에서는 ggplot2 패키지를 활용해서 다양한 Vilolin plot을 그려보도록 하겠습니다.
1. 실습 데이터 정의
# Convert the variable dose from a numeric to a factor variable
ToothGrowth$dose <- as.factor(ToothGrowth$dose)
head(ToothGrowth)
<< Result >>
len supp dose
1 4.2 VC 0.5
2 11.5 VC 0.5
3 7.3 VC 0.5
4 5.8 VC 0.5
5 6.4 VC 0.5
6 10.0 VC 0.5
오늘 사용할 데이터는 내장 데이터인 ToothGrowth입니다.
2. 패키지 불러오기
library(ggplot2)
library 함수를 통해 먼저 ggplot2 패키지를 불러왔습니다.
3. Violin plot 꾸미기
p <- ggplot(ToothGrowth, aes(x=dose, y=len)) +
geom_violin()
p
Vilolin plot은 geom_violin 함수를 통해 그릴 수 있습니다.
(1) 회전
# Rotate the violin plot
p + coord_flip()
coord_flip() 함수를 violin plot을 회전시켜 그릴 수 있습니다.
(2) Trim
# Set trim argument to FALSE
ggplot(ToothGrowth, aes(x=dose, y=len)) +
geom_violin(trim=FALSE)
trim 인자는 default로 True로 되어있지만, False를 인자로 줌으로써, 끝 부분을 뾰족하게 만들 수 있습니다.
(3) Static point
# violin plot with median points
p + stat_summary(fun.y=median, geom="point", size=2, color="red")
stat_summary 함수를 통해, 그래프 내에 통계량을 찾아낼 수 있습니다.
위같은 경우는 y값의 Median 값을 point로 찍어주었습니다.
(4) Insert a box plot
# Add median and quartile
p + geom_boxplot(width=0.1)
그려진 violin plot에 box plot을 추가해주시면, 내부에 box plot이 추가가 됩니다.
(5) Jitter plot
# violin plot with jittered points
# 0.2 : degree of jitter in x direction
p + geom_jitter(shape=16, position=position_jitter(0.2))
geom_jitter 함수를 통해서, violin plot 내부에 점들을 찍을 수 있습니다.
(6) Violin plot color
# Change violin plot colors by groups
p<-ggplot(ToothGrowth, aes(x=dose, y=len, fill=dose)) +
geom_violin(trim=FALSE)
p
fill 인자에 group 변수를 넣으면, violin plot의 색깔을 변경할 수 있습니다.
# Change violin plot colors by groups
ggplot(ToothGrowth, aes(x=dose, y=len, fill=supp)) +
geom_violin()
fill 인자에, 새로운 group 변수를 넣으면 그 그룹별로 violin plot이 그려집니다.
# Add dots
p + geom_jitter(shape=16,position=position_dodge(1))
반응형