R Language

그래픽 예제 뜯어보기

 

 

 

 

 

 

지난 포스팅은 아래와 같습니다.

 

[IT/R] - R언어 | Part_1 R 다운로드 및 맛보기

[IT/R] - R언어 | Part_2 차근차근 그래픽 예제 뜯어보기 1

[IT/R] - R언어 | Part_3 차근차근 그래픽 예제 뜯어보기 2

 

 

 

 

 

 

 

 

인공지능

 

빅데이터

 

머신러닝

 

딥러닝

 

4차 산업혁명

 

 

 

꼬리표를 또 달고

 

R언어 포스팅을 시작하겠습니다.

 

 

 

 

 

 

 

 

 

 

이번에는 Boxplot을 사용하여

 

그래프를 그려 보겠습니다.

 

 

 

 

 

 

 

 

 

 

 

boxplot의 뜻은 "상자 수염 그림" 이라고 합니다. (?)

 

... 네 그렇다고 합니다.

 

 

 

 

 

 

그림은 되게 단순한데

 

여기에는 데이터의 5가지나 되는

 

많은 정보를 얻을 수 있습니다.

 

 

 

1. 최솟값

2. 제 1사분위

3. 제 2사분위

4. 제 3사분위

5. 최댓값

 

 

 

 

 

 

 

 

바로 예제 진행하겠습니다.

 

이전 포스팅과 동일하게

 

demo를 사용하여

 

진행하겠습니다.

 

[IT/R] - R언어 | Part_3 차근차근 그래픽 예제 뜯어보기 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

전체 코드입니다.

 

 

 

 

par(bg="cornsilk") n <- 10 g <- gl(n, 100, n*100) x <- rnorm(n*100) + sqrt(as.numeric(g)) boxplot(split(x,g), col="lavender", notch=TRUE) title(main="Notched Boxplots", xlab="Group", font.main=4, font.lab=1)

 

 

 

 

 

 

바로 코드를 뜯어보겠습니다.

 

지금쯤이면 새로 보시는

 

sqrt, as.numeric, boxplot, split, notch 말고는 

 

다 아실것 같습니다.

 

 

 

 

 

par(bg="cornsilk")

 

 

cornsilk색으로 배경색을 지정해 줍니다.

 

 

 

 

 

 

 

 

 

n <- 10

 

 

n에 변수 10을 저장합니다.

 

 

 

 

 

 

 

 

 

g <- gl(n, 100, n*100)

 

g의 변수에 gl( )함수를 통한 값을 넣어줍니다.

 

 

 

 

 

gl( ) 함수는 요인 수열을 생성해 주는 함수입니다.

 

다 필요없고

 

예제를 보시면서 이해를 합시다.

 

gl(n, 100, n * 100) 이라고 되어 있습니다.

 

이에 따른 결과값으로는

 

 

위와같이 나오며

 

 

n의 값, 즉 10개의 레벨을 

 

* 따로 옵션값을 지정해 주지 않으면 

  숫자 1 ~ 카운팅 됩니다. 

 

각각 100번을 반복하고

 

총 갯수는 n * 100 즉, 1000개를 만든다

 

라고 보시면 됩니다.

 

 

 

 

추가적인 예제로

 

gl(2,3,labels=c("male","female"))

 

을 실행해 보시면

 

 

 

위와같은 화면을 보실 수 있으시고,

 

2개의 레벨을 가지고 

 

각 레벨당 3번의 반복 출력,

 

첫번째 예제와는 달리

 

그 레벨값은 male과 female로 지정해 주었습니다.

 

 

 

 

한번 직접 값을 몇개 넣어보시면 

 

와닿으실 겁니다.

 

 

 

 

 

 

 

 

 

 

x <- rnorm(n*100) + sqrt(as.numeric(g))

 

1000개의 정규분포 난수를 생성하여 (참조 :[IT/R] - R언어 | Part_2 차근차근 그래픽 예제 뜯어보기 1)

 

g값에 들어가 있는 각각의 제곱근 값과 더해줍니다.

 

 

 

 

 

 

 

n * 100개, 1000개의 정규분포 난수를 생성하여

 

앞서 만든 g값 ( 1 1 1 1 --- 2 2 2 2 --- 3 3 3 3 --- 10 10 10 10 )에 

 

sqrt 즉, 제곱근을 구해서 각각의 값에 더해줍니다.

 

 

위와같은 값들의 행렬을 보실 수 있습니다.

 

그래프에 넣을 데이터들은

 

만들어졌고,

 

 

 

 

 

 

이제 boxplot 그래프를 만들어 봅시다.

 

 

 

 

 

 

 

 

 

boxplot(split(x,g), col="lavender", notch=TRUE)

 

10개의 그룹으로 분할된 데이터들을 boxplot으로 생성합니다.

 

 

 

 

 

notch는 옵션들 중 하나인데, 

 

옵션들을 살펴보겠습니다.

 

 

 

 

 

col - 색상 선택

 

range - 박스의 끝에서 수염까지의 길이를 지정 (default : 1.5 )

 

notch - true 시, 상자의 허리부분을 가늘게 표시

 

width - 박스의 폭 지정

 

horizontal, outline, plot, boxwex 등등 많은 옵션들이 존재합니다.

 

 

 

 

 

찾으시는 옵션이 있다면

 

찾아서 적용해 보시기 바랍니다.

 

 

 

 

 

 

title(main="Notched Boxplots", xlab="Group", font.main=4, font.lab=1)

 

 

이전 포스팅을 보셨다면 그냥 한글 읽듯이 이해 하실 수 있으실 겁니다.

 

 

 

 

 

 

이상으로 boxplot 그래프에 대한 예제

 

마무리하겠습니다.

 

 

 

 

다음 포스팅에는 다각형과 가로 막대그래프

 

만들어 보겠습니다.

 

 

 

 

 

 

감사합니다.

+ Recent posts