728x90

R은 통계프로그래밍 언어로 일반인이 사용하기 쉽게 만든 언어이다.

그러나 필자는 프로그래머이고 비 프로그래머의 인식으로 접근하기 힘든면이 있다.

강의 또한 그러하다. 강의 곳곳에 프로그래머적인 시선이 들어있으니 참고하여 필요없으면 넘겨라.


참고:

[개발환경 셋팅하기]R설치 및 환경변수 등록-(1)

[개발환경 셋팅하기]RStudio설치-(2)

[개발환경 셋팅하기]RStudio프로젝트 만들기-(3)


이제 plot을 이용해서 산포도를 그려보자. 이전에는 plot의 데이터를 한개만 넣었다.

이 경우 x는 sequence가 자동으로 붙고 우리가 넣은 데이터는 y값으로 사용됬다.

산포도를 위해서는 x와 y를 모두 우리가 원하는 값을 넣어준다.



저번에 이어서 값을 그대로 사용하겠다.

이번에는 x축과 y축 데이터를 모두 vector데이터인 1월과 2월의 데이터를 사용해서

각각 x,y축에 넣어서 산포도를 그려보겠다.


aci = read.csv('2016년_사고유형별_월별_교통사고통계_20161019.csv')

month1 <- aci$X1월

month2 <- aci$X2월

plot(month1,month2,main = '1월과 2월의 산포도',sub='먹는 포도 아님')

close.screen(all=TRUE)


1월과 2월을 각각 순서대로 넣는데 처음 넣은게 x축에, 그다음이 y축에 배치가된다.

이제 실행을 시켜보자.



출력을 해보면 1월과 2월의 산포도가 나타낸걸 확인할 수 있다.

관계를 보아하니 거의 x=y축을 따르고 있으므로 굉장히 값이 고르다는것을 알 수있다.

x축의 이름과 y축의 이름은 변수의 이름을 그대로 사용한다.

만약 당신이 직접정하고 싶다면 아래와 같이 사용하면된다.


aci = read.csv('2016년_사고유형별_월별_교통사고통계_20161019.csv')

month1 <- aci$X1월

month2 <- aci$X2월

plot(month1,month2,main = '1월과 2월의 산포도',sub='먹는 포도 아님',xlab='January',ylab='Fabrary')

close.screen(all=TRUE)



여기서 plot에서 사용가능한 속성이 type말고도 등장했다.

각각에 대해서 한번 가볍게 설명하고 넘어가자.


plot의 속성


main - 타이틀 명을 설정

sub - 부 타이틀 명을 설정

xlab - x축 이름을 설정

ylab - y축 이름을 설정

ann - 기본은 TRUE값인데 FALSE를 주면 타이틀명과 축 이름을 모두 지움

axes - 기본은 TRUE값인데 FALSE를 주면 x축과 y축을 지우고 값만 표시

type - 값을 표시할 타입을 설정

col - 색을 지정, 문자열로 줄 수도 있고 숫자로 줄 수 있다. 예를 들자면 2번은 빨강이다.

xlim - x축의 범위를 지정, 벡터를 사용하면 된다.

ylim - y축의 범위를 지정, 벡터를 사용하면 된다.

ity - 선의 형태이다, 기본적으로는 실선이고 문자열로도 지정할 수 있고 숫자로 지정할 수도 있다. 예를들면 2번은 대시선이다. 


plot의 type속성


l - 선만 표시

b - 점과 선을 모두 표시

c - b에서 점을 지움

o - 점과 선을 모두 표시, 점과 선을 아예 이음

h - 막대그래프로 그리는 막대 대신 얇은 선으로 그림

s - 왼쪽 값을 배이스로 계단 형식으로 연결

S - 오른쪽 값을 배이스로 계단 형식으로 연결

n - 축만 그림, 값은 지워진다.


만약 두개 이상을 겹치게 하고싶으면 어떻게할까?


aci = read.csv('2016년_사고유형별_월별_교통사고통계_20161019.csv')

month1 <- aci$X1월

month2 <- aci$X2월

month3 <- aci$X3월

plot(month1,month2,col='red',ann=FALSE,axes=FALSE)

par(new=TRUE)

plot(month1,month3,col='blue',ann=FALSE,axes=FALSE)

close.screen(all=TRUE)


하나를 그리고 par(new=TRUE)를 호출하면 기존에 그렸던 산포도를 지우지 않고 그위에 겹처서 그린다.



aci = read.csv('2016년_사고유형별_월별_교통사고통계_20161019.csv')

month1 <- aci$X1월

month2 <- aci$X2월

month3 <- aci$X3월

plot(month1,month2,col='red',ann=FALSE,axes=FALSE)

par(new=TRUE)

plot(month1,month3,col='blue',ann=FALSE,axes=FALSE)

legend(6000,NULL,c('2월','3월'),cex=0.8,pch=21,lty=1:2)

close.screen(all=TRUE)


범례를 표시하고 싶으면 legend함수를 호출하면 된다.

+ Recent posts