R에서 다양한 색상으로 히스토그램을 만드는 방법
종종 R에서 여러 가지 색상으로 히스토그램을 만들고 싶을 수도 있습니다.
다음 예에서는 기본 R 및 ggplot2 에서 이를 수행하는 방법을 보여줍니다.
예 1: 기본 R에 서로 다른 색상이 있는 히스토그램
다음 코드는 기본 R에서 단일 색상으로 히스토그램을 생성하는 방법을 보여줍니다.
#create data frame
df <- data. frame (x=c(12, 14, 14, 15, 15, 17, 19, 22, 23, 23, 24))
#create histogram
hist(df$x)

기본적으로 히스토그램의 모든 막대 색상은 동일합니다.
그러나 다음 코드를 사용하여 세 가지 다른 색상으로 히스토그램을 만들 수 있습니다.
#create data frame
df <- data. frame (x=c(12, 14, 14, 15, 15, 17, 19, 22, 23, 23, 24))
#define histogram break points
hist_breaks <- hist(df$x)$breaks
#define colors to use in histogram based on break points
color_list <- rep(' red ', length(hist_breaks))
color_list[hist_breaks < 20 ] <- ' blue '
color_list[hist_breaks < 16 ] <- ' purple '
#create histogram with custom colors
hist(df$x, col=color_list)

세 가지 색상을 생성하는 논리는 다음과 같습니다.
- 먼저 각 막대가 빨간색 으로 지정되었습니다.
- 그런 다음 중단점이 20 미만인 모든 막대를 파란색 으로 변경했습니다.
- 그런 다음 중단점이 16 미만인 모든 막대를 보라색 으로 변경했습니다.
최종 결과는 3색 히스토그램입니다.
예 2: ggplot2에서 다양한 색상을 사용한 히스토그램
R에 다음과 같은 데이터 프레임이 있다고 가정합니다.
#create data frame
df <- data. frame (x=c(12, 14, 14, 15, 15, 17, 19, 22, 23, 23, 24))
#view data frame
df
x
1 12
2 14
3 14
4 15
5 15
6 17
7 19
8 22
9 23
10 23
11 24
이 데이터 프레임에 대해 다양한 색상의 히스토그램을 만들려면 먼저 중첩된 if else 문을 사용하여 값에 대한 그룹화 변수를 만들어야 합니다.
#create grouping variable
df$group = ifelse(df$x < 16 , ' C ', ifelse(df$x < 20 , ' B ', ' A '))
#view updated data frame
df
x group
1 12 C
2 14C
3 14C
4 15C
5 15C
6 17 B
7 19 B
8 22 A
9 23 A
10 23 A
11 24 A
이제 ggplot2에서 히스토그램을 만들고 그룹 변수를 사용하여 플롯의 색상을 설정할 수 있습니다.
#create histogram with custom colors
ggplot(df, aes(x, fill=group)) +
geom_histogram(bins= 6 , color=' black ') +
scale_fill_manual(values = c(' A ' = ' red ',
' B ' = ' blue ',
' C ' = ' purple '))

최종 결과는 3색 히스토그램입니다.
참고 : scale_fill_manual() 에 대한 전체 문서는 여기에서 찾을 수 있습니다.
추가 리소스
다음 튜토리얼에서는 R에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.
R에서 상대 빈도 히스토그램을 만드는 방법
R의 히스토그램에 정규 곡선을 오버레이하는 방법
R에서 히스토그램 나누기를 지정하는 방법