R의 히스토그램에 정규 곡선을 오버레이하는 방법(예제 2개)
R의 히스토그램에 정규 곡선을 오버레이하려는 경우가 종종 있습니다.
다음 예에서는 기본 R 및 ggplot2 에서 이를 수행하는 방법을 보여줍니다.
예 1: 기본 R 히스토그램에 정규 곡선을 겹쳐 놓습니다.
다음 코드를 사용하여 기본 R에 히스토그램을 만들고 히스토그램에 정규 곡선을 겹칠 수 있습니다.
#make this example reproducible
set. seed ( 0 )
#define data
data <-rnorm( 1000 )
#create histogram
hist_data <- hist(data)
#define x and y values to use for normal curve
x_values <- seq(min(data), max(data), length = 100 )
y_values <- dnorm(x_values, mean = mean(data), sd = sd(data))
y_values <- y_values * diff(hist_data$mids[1:2]) * length(data)
#overlay normal curve on histogram
lines(x_values, y_values, lwd = 2 )

플롯의 검은색 곡선은 정규 곡선을 나타냅니다.
색상, 너비 및 선 유형을 각각 수정하려면 col , lwd 및 lty 인수를 자유롭게 사용하십시오.
#overlay normal curve with custom aesthetics
lines(x_values, y_values, col=' red ', lwd= 5 , lty=' dashed ')

예 2: ggplot2의 히스토그램에 정규 곡선 중첩
다음 코드를 사용하여 ggplot2에서 히스토그램을 만들고 히스토그램에 정규 곡선을 오버레이할 수 있습니다.
library (ggplot2)
#make this example reproducible
set. seed ( 0 )
#define data
data <- data. frame (x=rnorm( 1000 ))
#create histogram and overlay normal curve
ggplot(data, aes(x)) +
geom_histogram(aes(y = ..density..), fill=' lightgray ', col=' black ') +
stat_function(fun = dnorm, args = list(mean=mean(data$x), sd=sd(data$x)))

플롯의 검은색 곡선은 정규 곡선을 나타냅니다.
색상, 너비 및 선 유형을 각각 수정하려면 col , lwd 및 lty 인수를 자유롭게 사용하십시오.
#overlay normal curve with custom aesthetics
ggplot(data, aes(x)) +
geom_histogram(aes(y = ..density..), fill=' lightgray ', col=' black ') +
stat_function(fun = dnorm, args = list(mean=mean(data$x), sd=sd(data$x)),
col=' red ', lwd= 2 , lty=' dashed '))

참고 :여기에서 stat_function 에 대한 전체 문서를 찾을 수 있습니다.
추가 리소스
다음 튜토리얼에서는 R에서 다른 일반적인 작업을 수행하는 방법을 설명합니다.