막대 그래프와 히스토그램 (예제 포함)

 

막대 그래프는 x축에 범주형 변수를 표시하는 좋은 방법이다. 이 유형의 그래프는 Y축에 두 가지 측면을 나타낸다.

  1. 집단 간의 발생 횟수
  2. 변수의 요약 통계치(최소, 최대, 평균 등)

다음 변수를 가지고 있는 mtcar 데이터 세트를 사용할 것이다.

 

이 튜토리얼에서는 다음에 대하여 학습한다 :

 

막대 그래프 작성법

R로 그래프를 작성하려면 ggplot 라이브러리를 사용할 수 있다. 이 라이브러리의 기본 구문은 다음과 같다 :

인수 :

이 튜토리얼에서는 막대 그래프를 작성하는 geom_bar()를 살펴보겠다.

 

막대 그래프 : 빈도

첫 번째 그래프는 geom_bar()로 실린더의 빈도수를 보여준다. 아래의 코드는 가장 기본적인 구문이다.

코드 설명 :

결과 :

1569993007069

주의 : 변수를 factor 타입으로 변환하는지 확인하라. 그렇지 않으면 R은 변수를 숫자로 처리한다. 아래의 예를 참조하라.

img

 

그래프의 사용자 지정

네 갱의 인수가 그래프의 사용자 지정을 위해 이용된다 :

 

막대 색의 변경

막대의 색을 바꿀 수 있다. 막대의 색은 모두 비슷하다는 점에 유의하라.

코드 설명 :

결과 :

1569993101936

다음의 코드를 사용할 수 있다.

R에서 이용가능한 모든 색상을 볼 수 있다. 거의 650개의 색상이 있다.

 

색상 강도의 변경

막대 색의 강도를 증가시키고 감소시킬 수 있다.

코드 설명 :

결과 :

1569993122976

 

그룹 별 색

You can change the colors of the bars, meaning one different color for each group. For instance, cyl variable has three levels, then you can plot the bar chart with three colors.

각 그룹별로 서로 다른 색을 적용할 수 있다. 예를 들어, cyl 변수는 세 가지 수준이 있으며, 각 수준별로 세 가지 색상으로 막대 그래프를 그릴 수 있다.

코드 설명 :

결과 :

1569993142968

 

막대에 그룹 추가

다른 factor 수준에 따라 y-축을 더 분할할 수 있다. 예를 들어, 실린더 타입(cyl)에 따라 자동 및 수동 변속기(transmission)의 수를 셀 수 있다.

다음과 같이 진행해 나간다.

이제 데이터 세트가 준비되었으므로 그래프를 작성한다.

코드 설명 :

결과 :

1569993162455

맵핑은 각 수준별별로 두 가지 색으로 막대를 채울 것이다. 데이터 세트에 있는 다른 factor 변수를 선택하여 그룹을 쉽게 변경할 수 있다.

 

상대 빈도(%) 막대 그래프

빈도수 대신에 상대빈도로 막대 그래프를 작성할 수 있다.

코드 설명 :

결과 :

1569993177561

 

가로형(Side by side) 막대 그래프

그룹 변수를 갖는 막대 그래프는 세로형 막대 그래프로 표시가 되는데, 이것을 가로형으로 작성할 수 있다.

코드 설명 :

결과 :

1569993230965

 

히스토그램

막대 그래프 튜토리얼의 두 번째 부분에서는 변수의 값들로 그룹을 y-축에 표시할 수 있다.

여기에서는 각 실린더 유형에 대한 갤런 당 평균 마일을 나타내는 그래프를 작성할 것이다. 유용한 그래프를 작성하기 위해 다음의 단계로 진행해 나간다.

 

단계 1) 새 변수 생성

data_histogram이라는 데이터 프레임을 생성하여, 자동차의 실린더 수별로 갤런당 평균 마일을 반환한다. 이 새 변수를 mean_mpg라고 부르고, 소숫점 둘째 자리에서 반올림한다.

단계 2) 기본 히스토그램 작성

히스토그램을 작성할 수 있다. 이 그래프는 완전하지는 않지만 동향에 대한 직감을 갖게 해준다.

코드 설명 :

결과 :

1569993261040

단계 3) 방향 변경

수직 형태의 그래프를 수평 방향으로 변경할 수 있다.

코드 설명 :

결과 :

1569993272550

단계 4) 색상 변경

x-축 변수의 factor 수준에 따라 막대의 색상을 구분할 수 있다.

코드 설명 :

결과 :

1569993284863

단계 5) 크기 변경

그래프를 더 보기 좋게 하기 위해 막대 너비를 조절할 수 있다.

코드 설명 :

결과 :

1569993298436

Step 6) 그래프에 라벨 추가

마지막 단계는 mean_mpg 변수의 값을 라벨에 추가하도록 구성한다.

코드 설명 :

결과 :

1569993311526

 

요약

막대 그래프는 x-축이 범주형 변수일 때 유용하다. y-축은 빈도 또는 요약 통계치일 수 있다. 아래 표에는 ggplot2로 막대 그래프를 제어하는 방법이 요약되어 있다 :

Objective코드
Countggplot(df, eas(x= factor(x1)) + geom_bar()
색상 변경ggplot(df, eas(x= factor(x1), fill = factor(x1))) + geom_bar()
그룹별 빈도, 세로형 막대 그래프ggplot(df, eas(x= factor(x1), fill = factor(x2))) + geom_bar(position=position_dodge())
그룹별 빈도, 가로형 막대 그래프ggplot(df, eas(x= factor(x1), fill = factor(x2))) + geom_bar()
그룹별 빈도, 상대 빈도(%)ggplot(df, eas(x= factor(x1), fill = factor(x2))) + geom_bar(position=position_dodge())
값들ggplot(df, eas(x= factor(x1)+ y = x2) + geom_bar(stat="identity")