Clinical Stat

[R]2개의 히스토그램 약간 투명하게 겹치게 그리기

카이집사_Stats 2025. 7. 4. 17:00

연구나 평가에서 같은 조건 혹은 같은 시험을 반복했을 때, 결과의 일관성을 시각적으로 확인해야 하는 경우가 많습니다. 두 그룹의 결과 분포가 유사한지 살펴보는 첫 단계는 시각화입니다.

 

이번에는 두 시험 결과(Old, New)의 분포가 비슷한지를 확인하기 위해 히스토그램을 겹쳐 그려 보았습니다. 

밀도곡선(density plot) 으로 변환하거나, boxplot으로 중앙값과 사분위수를 비교하는 것도 좋은 후속 시각화입니다. 

 


# 패키지 설치 및 불러오기
if (!require(ggplot2)) install.packages("ggplot2")
library(ggplot2)

# 데이터 정의
Old <- c(65.30, 120.63, 64.67, 157.96, ...)
New <- c(277.08, 132.64, 249.44, 296.51, ...)

# 데이터프레임 구성
df <- data.frame(
  group = rep(c("Old", "New"), times = c(length(Old), length(New))),
  value = c(Old, New)
)

# 히스토그램 시각화
ggplot(df, aes(x = value, fill = group)) +
  geom_histogram(alpha = 0.4, position = "identity", bins = 25, color = "gray30") +
  scale_fill_manual(values = c("Old" = "#E76F51", "New" = "#457B9D")) +
  theme_classic(base_size = 13) +
  labs(
    title = "시험 결과 분포 비교: Old vs. New",
    x = "측정값",
    y = "빈도수",
    fill = "그룹"
  )

🔍 참고 포인트

  • geom_histogram()의 alpha 파라미터를 조절해 두 그룹이 겹쳐 보이도록 처리
  • bins 개수는 데이터의 분산 정도에 따라 조정 가능
  • 시각적으로 가독성을 높이기 위해 theme_classic() 사용

 

결과물은 다음과 같습니다.