R언어 | Part_4 차근차근 그래픽 예제 뜯어보기 3
본문 바로가기

IT/R

R언어 | Part_4 차근차근 그래픽 예제 뜯어보기 3

 

R Language

그래픽 예제 뜯어보기







지난 포스팅에 이어





인공지능


빅데이터


머신러닝


딥러닝


4차 산업혁명




꼬리표를 또 달고


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








이번에는 Boxplot을 사용하여


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









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


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







그림은 되게 단순한데


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


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




1. 최솟값

2. 제 1사분위()

3. 제 2사분위()

4. 제 3사분위()

5. 최댓값









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


이전 포스팅과 동일하게 


demo를 사용하여


진행하겠습니다.












전체 코드입니다.




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개의 정규분포 난수를 생성하여 (참조 : https://ysc1230.tistory.com/21)


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 그래프에 대한 예제


마무리하겠습니다.





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


만들어 보겠습니다.







감사합니다.