# naver search confirm # markdown number and equation 4. 1개의 연속형 변수로 density 차트 만들기 //google adsense
본문 바로가기
ggplot2

4. 1개의 연속형 변수로 density 차트 만들기

by 노마드분석가 2022. 3. 12.

이전글

 

3. aes 요소 추가

이전글 2. 데이터 타입과 차트 종류 이전글 1. ggplot2 기본구조 1. 들어가며 목적지를 향해 떠나기 전에 좋은 지도를 갖추는 것은 필수적이다. 데이터 시각화를 하기 전에 먼저 주어진 데이터로 어

diseny.tistory.com

 

1. 들어가며

우선 1개의 변수로 만들 수 있는 차트부터 살펴보자. 대표적으로 density, histogram 차트가 있다. 먼저 density차트부터 살펴 보자

 

2. 차트 기본 구조

ggplot2 기본 구조부터 시작한다.

 

기본구조 : ggplot(  ) + geom 함수 

 

ggplpt 함수 뒤에 + 를 붙이고 geom_density( )를 선택한다

 

library(ggplot2)
ggplot(data=iris,aes(Sepal.Length)) + geom_density()

 

변수 1개 (Sepal.Length)를 이용해 차트를 만들었다. 코드를 실행하면 다소 투박한 차트가 생성된다. 투박하지만 이대로도 Sepal.Length가 대략 5 ~ 6.5 사이에 집중적으로 분포한다는 사실이 충분히 드러난다. 이제 그래프를 조금 보기 좋게 장식해보자. 

 

geom_densicy의 ( ) 속에 그래프 자체에 대한 다양한 옵션을 지정했다. 주석을 보면 코드 자체는 쉽게 이해가 간다. 

 

ggplot(data=iris,aes(Sepal.Length)) +
     geom_density(fill="red",      # 그래프 내부 색
                  alpha=0.2,       # 내부 색 투명도
                  colour="green",  # 선 색
                  linetype=2,      # 선 유형
                  size=1)          # 선 크기

 

 

3. 또 하나의 변수를 척도에 매핑하기

density 차트는 함수에 x축 변수 1개가 필요하고 위의 코드에서 x축에 Sepal.Length를 지정했다. 이제 새로운 변수를 하나 추가하되, 축이 아니라 그룹 구분 척도에 맵핑해보자. ggplot2 기본 구조의 aes 옵션에 group=”범주형 변수명”을 추했다. 이제 aes의 의미에 대해 더 분명하게 인식할 수 있을 것이다. 

 

ggplot(data=iris,aes(Sepal.Length, group = Species)) +
     geom_density(fill="red",      # 그래프 내부 색
                  alpha=0.2,       # 내부 색 투명도
                  colour="green",  # 선 색
                  linetype=2,      # 선 유형
                  size=1)          # 선 크기

 

결과는 아래 차트와 같다. Species 변수에 의해 3개의 그래프로 구분되었다는 것을 알 수 있다. 

 

 

 

4. 밀도 함수에 대한 대안 : frequency polygons

그런데 밀도 함수는 Y축에 대한 직관적인 이해가 어렵다. 따라서 조금 더 쉽게 이해할 수 있는 그래프로 geom_freqpoly 함수를 사용할 수 있다. 이 차트의 Y축은 빈도(count)가 되기 때문에 이해하기 쉽다. 

 

library(ggplot2)
ggplot(data=iris,aes(Sepal.Length)) + geom_freqpoly()

 

frequency polygons에서는  데이터의 간격(X축 간격)어떻게 설정할지가 중요한 옵션이다. 데이터 간격은 binwidth 로 설정한다.

 

library(ggplot2)
ggplot(data=iris,aes(Sepal.Length)) + geom_freqpoly(binwidth = 2)

 

아래 그래프를 보면 X축 간격이 넓어진 것을 알 수 있다.

반응형

'ggplot2' 카테고리의 다른 글

3. aes 요소 추가  (0) 2022.03.10
2. 데이터 타입과 차트 종류  (0) 2022.03.07
1. ggplot2 기본구조  (0) 2022.03.07

댓글