본문 바로가기
2. 그래프 그리기 (고수준 함수)/coplot() - 조건부 그래프

[R시각화] 조건에 따른 그래프를 출력하는 coplot 함수, 매우 유용함

by makhimh 2020. 12. 31.
반응형

coplot 함수는 조건에 따른 그래프를 출력해줍니다. 조건에 따른 그래프라고 하면 무슨 말인지 잘 이해가 되지 않을테니 예제를 통해 이해해봅시다. 

 

예제에 사용할 데이터는 quakes 라는 데이터입니다. 피지에서 지진이 발생할 때 마다 기록한 정보입니다. lat은 위도, long은 경도, depth는 깊이, mag는 리히터 규모, stations은 관측소 수 입니다. 

 

> str(quakes)
'data.frame':	1000 obs. of  5 variables:
 $ lat     : num  -20.4 -20.6 -26 -18 -20.4 ...
 $ long    : num  182 181 184 182 182 ...
 $ depth   : int  562 650 42 626 649 195 82 194 211 622 ...
 $ mag     : num  4.8 4.2 5.4 4.1 4 4 4.8 4.4 4.7 4.3 ...
 $ stations: int  41 15 43 19 11 12 43 15 35 19 ...

 

깊이에 따른 위도(lat)와 경도(long)의 관계를 알고 싶다고 합시다. coplot을 이용하면 아래와 같이 쉽게 그래프를 그릴 수 있습니다. 

 

coplot(lat ~ long | depth, data = quakes,rows=1)

 

lat~long은 "독립변수~종속변수"의 의미이고, | 기호는 조건부라는 의미입니다. rows=1 은 그래프를 한줄에 모두 나타내겠다는 의미입니다. 

 

한가지 의문이 듭니다. 구간은 어떤 기준으로 나눠지냐는 것입니다. num과 overlap 옵션으로 컨트롤 합니다. 디폴트값은 num=6, overlap=0.5 입니다. 두 옵션을 다른 값으로 넣으면 아래와 같습니다. 

 

coplot(lat ~ long | depth, data = quakes,rows=1,overlap=0.3,number=4)

 

이번에는 깊이와 강도에 따른 위도와 경도의 관계를 알고 싶다고 합시다. 이때는 조건부 수식에 깊이와 강도를 둘다 넣어주어야 합니다. 아래와 같이 입력합니다. 

 

coplot(lat ~ long | depth*mag, data = quakes)

 

 

반응형

댓글