욱이의 냉철한 공부

[R, 시각화] 기본 그래프 그리기(파이, 히스토그램, 박스그래프, 화면분할) - pie(), hist(), boxplot() 본문

데이터분석/R

[R, 시각화] 기본 그래프 그리기(파이, 히스토그램, 박스그래프, 화면분할) - pie(), hist(), boxplot()

냉철한 욱 2021. 6. 28. 05:12

 

여러 패키지 함수들, 그래프 함수 인자들 다 기억할 수 없어요.

 

저는 사용 할 시기가 되면 서적에서 봤던 거, 배웠던 거 정리한 것을 찾아서 활용해요.

 

가장 중요한 것은 함수들과 인자들을 외우는 것이 아니라,

 

어떻게 활용하는지 이해하는 것이 중요해요 ~!!

 

사용하고 싶은 함수들을 빨리 찾아서 빨리 사용하기 위해서이죠!

 

그중에서 그래프 함수들을 사용할 경우 저는 중요하게 생각하는 부분이

 

어떤 데이터 타입이 들어가는지에요~!

 

벡터형태, 테이블형태, 메트릭스형태, 데이터프레임형태가

 

함수의 x축 y축에 어떻게 맞춰서 들어가는 것에 대한 이해가 그래프 함수 활용의 출발이라고 생각해요

 


 

 

1. pie() - 파이그래프

인자 설명
main = "메인 제목" 그래프 제목 설정
angle, density, col pie 부분을 구성하는 각도(angle), 수(density), 색상(col)를 지정한다
labels 각 pie 부분의 이름을 지정하는 문자 벡터를 지정한다.
radius 원형의 크기를 지정한다.
clockwise 시계방향(T)으로 회전할지 반 시계방향(F)으로 회전할지 지어한다. 기본값은 반 시계방향이다.
init.angle 시작되는 지점의 각도를 지정한다.

 

 

 

1) 1번째는 그냥 파이그래프

- init.angle는 시작되는 지점의 각도로 90으로 설정하였다. 첫 번째 jobseeking이 시작되는 지점이 90도라는 것을 알 수 있다.

- col인자는 파이 내부 색 설정이며, rainbow 함수를 사용함으로써 무지개 색으로 설정하였다.

- labels인자를 설정하여 해당 조각파이의 제목을 설정하였다.

 

pie(donguk, main="dongukthink", init.angle=90, col=rainbow(length(donguk)) , labels=c("jobseeking","soccor","drama","travel","dream") )

legend(1, 1, c("jobseeking","soccor","drama","travel","dream"), cex=0.8, fill=rainbow(length(donguk)))

 

2) 2번째는 3D 파이그래프

- plotrix패키지에 pie3D()라는 이쁜 파이그래프 함수가 있다.

- 위와 비슷한 방법으로 인자를 설정하였다.

 

install.packages("plotrix")

library(plotrix)

 

pie3D( donguk, main="dongukthink", col=rainbow(length(donguk)) , labels=c("jobseeking","soccor","drama","travel","dream"), cex=0.8 )

legend(0.5, 1, c("jobseeking","soccor","drama","travel","dream"), cex=0.8, fill=rainbow(length(donguk)))

 

 

 

 

 

 

2. hist() - 히스토그램

weight <- c(65,66,64,68,72,65,66,68,64,67,82,86,90,96,58,55)

hist(weight,main="histogram of height")

 

 

 

 

 

 

 

 

 

3. boxplot()

- 첫번째 그래프는 boxplot(donguk,hansol)

- 두번째 그래프는 boxplot(donguk, hansol, col=c("yellow","cyan"), names=c("donguk","hansol"), horizontal=T)

- col 인자로 원하는 색을 지정할 수 있다.

- horizontal인자를 T로 설정할 때 수직으로 그래프를 표현한다.

 

donguk <- c(65,66,64,68,72)

hansol <- c(77,82,85,84,90)

boxplot(donguk,hansol)

boxplot(donguk, hansol, col=c("yellow", "cyan"), names=c("donguk", "hansol"), horizontal=T)

 

 

- 데이터프레임 데이터타입의 열을 집어넣을 경우 mtcars$hp로 무한으로 차례대로 집어넣을 수 있다.

boxplot(mtcars$hp,mtcars$disp,mtcars$vs)

 

 

 

 

 

 

4. 화면 분할

1) 방법 1

- split.screen(c(2,3)) 은 화면을 행으로 2개, 열로 3개로 분할한다.

- 위치를 screen(1)이라고 지정하고 그곳에 그리고 싶은 그래프를 그린다.

screen(1) screen(2) screen(3)
screen(4) screen(5) screen(6)

 

- 본 그래프는 screen(5), screen(6) 제외하고 그렸다.

close.screen(all=TRUE)는 설정을 초기화 한다.

 

split.screen(c(2,3))

screen(1)

plot(1:10)

screen(2)

plot(10:1)

screen(3)

plot(3:1)

screen(4)

plot(1:10)

close.screen(all=TRUE)

 

 

2) 방법 2

- m<-par(mfrow= c(1,2)) 는 그래프를 위한 창을 연다. 1행 2열 칸으로 연다.

- 첫번째 위치에 plot(donguk, type="o") 그래프를 그린다.

- 두번째 위치에 plot(hansol, type="s") 그래프를 그린다.

 

m<-par(mfrow= c(1,2))

plot(donguk, type="o")

plot(hansol, type="s")