[R] 연습

[R] 지터링(jitter)

Simon Yoon 2022. 2. 6. 21:29

지터링(jittering)이란 자료의 점에 약간의 노이즈를 추가해서 흩어지게 표현하여 조정을 주는 방식을 의미한다.

데이터가 크거나 특정 위치에 점이 몰려있는 경우에는 점들이 중첩되기 때문에 밀도를 확인할 수 없고 정확한 자료 파악이 다소 어려울 수 있다. 따라서 지터링을 활용해서 점들이 겹치지 않고 흔들리게 표현하면 오히려 데이터 파악에 용이할 수 있다.

아래의 예를 보자.

지터링을 사용하지 않은 예

library(scales)  # alpha() 함수 사용을 위한 패키지. 지터링과 무관하다.
plot(universal.df$CCAvg, universal.df$Income,
     col = alpha(ifelse(universal.df$Securities.Account == 0, "gray", "black"), 0.4),
     pch = 20, log = 'xy',
     xlab = "Income", ylab = "CCAvg")

위의 색의 진한 정도에 차이를 주었지만 지터링을 되어 있지 않은 그래프이다. 이 경우 겹쳐 있는 점들이 많이 발생했기 때문에 자료 파악이 어려울 수 있다.

 

지터링을 사용한 예

plot(jitter(universal.df$CCAvg) ~ jitter(universal.df$Income),
     col = alpha(ifelse(universal.df$Securities.Account == 0, "gray", "black"), 0.4),
     pch = 20, log = 'xy', ylim = c(0.1, 10),
     xlab = "Income", ylab = "CCAvg")

지터링을 사용할 경우 겹쳐져 있는 점들이 좀 더 흩뿌려져 있는 형태로 그려진다는 것을 볼 수 있다. 이처럼 데이터가 큰 경우에 지터링을 이용하면 좀 더 자료 파악에 도움이 될 수 있다.

 

기본 차트말고 ggplot으로도 다음과 같은 방식으로 작성할 수 있다.

library(ggplot2)
ggplot(universal.df) +
  geom_jitter(aes(x = Income, y = CCAvg, colour = Securities.Account))

 

참고로 지터링의 경우에도 자료의 크기가 큰 경우 지터링을 적용한 점끼리도 겹쳐서 그려질 수 있다. 따라서 밀도 파악을 위한 다른 방법들을 적용해볼 수도 있을 것이다.

 

'[R] 연습' 카테고리의 다른 글

[R] 데이터프레임 관련 함수 및 코드  (0) 2022.04.17
R 기초 프로그래밍  (0) 2022.04.15
[R] 시각화(ggplot 패키지편)  (0) 2022.01.23
[R] 시각화(graphics 패키지편)  (0) 2022.01.22
[R] 기초 문법 4  (0) 2022.01.16