Lovetoken

저는 개발 취향을 가진 데이터 분석가 Jr. 입니다.

Navigation
 » Home
 » About Me
 » Github

R에서 plot3d()함수를 이용한 3차원 산점도 만들기

02 Aug 2018 » R, Data_Visualization



다변량 데이터에 대해서 변수와 변수간 관계를 확인하고 설명하고 싶은 분들을 위해
그 관계성을 간편하고 직관적으로 도울 수 있는 도구들이 필요해 지고 있다.
특히 변수와 변수간 관계는 주관심 대상의 변수가 많아지면 많아질수록 확인해 보고 규명해야할 케이스도 많아지는데
이를 시각화 할때 2차원 산점도 에서는 그 많은 케이스를 확인하는데는 쉽게 피로해 질 수 있다.

너무많아...


2차원 산점도 보다 한차원 높은 3차원 산점도는 주관심 대상 변수간 관계를 확인하기 위한 선택폭이 하나가 많고
조금 더 집중도있게 확인할 수 있는 장점이 있는 것 같다.
R에서는 rgl 패키지를 통해 3차원 산점도를 어려움 없이 구현할 수 있다.
rgl package 의 plot3d() 함수를 소개해 본다.

2차원 산점도를 그릴 때 R에선 간편히 plot() 함수에서 plot(x, y) 의 형태로 확인이 가능하다.
plot3d() 함수에선 plot3d(x, y, z) 의 형태로 주관심대상 변수 하나를 더 추가해 사용하면 되므로 이런 측면에선 사용법이 비슷하다.

plot3d() 의 예시코드를 실행해 보기 위해 rgl 패키지를 로드한다.

library(rgl)

아래 코드는 plot3d() 의 대표 예제 코드이다.

x <- sort(rnorm(1000))
y <- rnorm(1000)
z <- rnorm(1000) + atan2(x,y)
plot3d(x, y, z, col=rainbow(1000))

3차원 산점도를 출력시키는 plot3d() 함수는 특수한 엔진을 사용하기 때문에
시각화 결과물이 (가령 Rstudio 의 경우 Plots창에 뜨지 않고) 새로운 창에 별도로 출력된다.



직접실행해 보면 새로운 팝업창이 뜨고(사용환경에 따라 다르다)
이 안에서 3D산점도가 출력되며, 사용자가 직접 움직여 볼 수 있다.
또한 휠을 움직이면 줌인과 줌아웃도 된다.