15.2 정규분포 함수

15.2.1 정규분포 확률밀도곡선 : stat_function(fun = dnorm)

# 정규분포 : fun = dnorm
ggplot(data.frame(x=c(-3,3)), aes(x=x)) +
   stat_function(fun=dnorm, colour="blue", size=1) +
   ggtitle("Normal Distribution")

15.2.2 정규분포의 특정 구간에만 색깔 넣기

# 함수 특정 구간에 색깔 넣기
dnorm_range <- function(x) {
    y <- dnorm(x) 
    y[x < -1 | x > 2] <- NA  # 이 범위에는 색깔 없음
    return(y)
}
 
ggplot(data.frame(x=c(-3,3)), aes(x=x)) +
   stat_function(fun=dnorm, colour="blue", size=1) +
   stat_function(fun=dnorm_range, geom="area", fill="grey", alpha=0.5) + 
   ggtitle("Normal Distribution of x~N(0,1) with colour from -1 to 2")

15.2.3 누적정규분포 (Cummulative Normal Distribution) : stat_function(fun = pnorm)

# 누적정규분포 : fun = pnorm
ggplot(data.frame(x=c(-3,3)), aes(x=x)) +
   stat_function(fun=pnorm, colour="black", size=1.5) +
   ggtitle("Cumulative Normal Distribution of x~N(0,1)")

15.2.4 정규분포 : 평균과 분산 지정

# 정규분포: 평균과 분산 지정
ggplot(data.frame(x = c(-5, 5)), aes(x=x)) +
   stat_function(fun=dnorm, 
                 args=list(mean=2, sd=1), colour="black", size=1.5) +
   geom_vline(xintercept=2, colour="grey", 
              linetype="dashed", size=1) +                # 평균에 세로 직선 추가
   geom_text(x=0, y=0.3, label="x = N(2, 1)") +
   ggtitle("Normal Distribution of x~N(2,1)")