# 가상의 데이터 생성 dat <- data.frame(cond = rep(c("A", "B"), each=10), xvar = 1:20 + rnorm(20,sd=3), yvar = 1:20 + rnorm(20,sd=3)) head(dat) library(ggplot2) # ggplot2 패키지 로딩
회귀선이 있는 기본 산점도
ggplot(dat, aes(x=xvar, y=yvar)) + geom_point(shape=1) # 속이 빈 원 사용 ggplot(dat, aes(x=xvar, y=yvar)) + geom_point(shape=1) + # 속이 빈 원 사용 geom_smooth(method=lm) # 선형 회귀선 추가 (기본적으로 95% 신뢰 영역 포함) ggplot(dat, aes(x=xvar, y=yvar)) + geom_point(shape=1) + # 속이 빈 원 사용 geom_smooth(method=lm, # 선형 회귀선 추가 (기본적으로 95% 신뢰 영역 포함) se=FALSE) # 음영 처리된 신뢰 영역을 추가 X ggplot(dat, aes(x=xvar, y=yvar)) + geom_point(shape=1) + # 속이 빈 원 사용 geom_smooth() # 신뢰구간 영역과 함께 loess smoothed fit curve 추가
다른 변수로 색상/모양 설정
# cond 변수에 따른 색상 설정 ggplot(dat, aes(x=xvar, y=yvar, color=cond)) + geom_point(shape=1) # 동일하지만 색상이 다르고 회귀선 추가 ggplot(dat, aes(x=xvar, y=yvar, color=cond)) + geom_point(shape=1) + scale_colour_hue(l=50) + # 평소보다 약간 어두운 팔레트 사용 geom_smooth(method=lm, # 선형 회귀선 추가 se=FALSE) # 음영 처리된 신뢰 영역을 추가 X # 데이터 영역을 넘어 회귀선 확장 ggplot(dat, aes(x=xvar, y=yvar, color=cond)) + geom_point(shape=1) + scale_colour_hue(l=50) + # 평소보다 약간 어두운 팔레트 사용 geom_smooth(method=lm, # 선형 회귀선 추가 se=FALSE, # 음영 처리된 신뢰 영역을 추가 X fullrange=TRUE) # 회귀선 확장 # cond에 의한 모양 설정 ggplot(dat, aes(x=xvar, y=yvar, shape=cond)) + geom_point() # 같지만 다른 모양으로 ggplot(dat, aes(x=xvar, y=yvar, shape=cond)) + geom_point() + scale_shape_manual(values=c(1,2)) # 속이 빈 원과 삼각형 사용
오버 플로팅 처리
데이터 포인트가 많거나 데이터 스케일이 불연속적인 경우 데이터 포인트가 겹칠 수 있으며,
동일한 위치에 많은 포인트가 있는지 확인하는 것이 불가능합니다.
# xvar 및 yvar를 가장 가까운 5로 반올림 dat$xrnd <- round(dat$xvar/5)*5 dat$yrnd <- round(dat$yvar/5)*5
# 1/4 불투명도로 각 점을 부분적으로 투명하게 생성 # 과도한 오버 플로팅의 경우 더 작은 값을 사용 ggplot(dat, aes(x=xrnd, y=yrnd)) + geom_point(shape=19, # 실선 사용 alpha=1/4) # 1/4 불투명도 # Jitter the points # 지터 범위는 x축에서 1, y축에서 .5 ggplot(dat, aes(x=xrnd, y=yrnd)) + geom_point(shape=1, # 속이 빈 원 사용 position=position_jitter(width=1,height=.5))
댓글