아래 내용은 슬기로운 통계생활 유투브의 내용을 참조 및 추가하였음을 미리 밝힌다.
예제 데이터를 가져오자. 직접 만들어도 상관없겠다. 예제 데이터는 다음과 같고 아래와 같이 첨부하였으니 다운로드 받아 사용하자.
엑셀 데이터 가져오기
install.packages('readxl') library(readxl) mydata = read_excel("data.xlsx") |
평가 필드(highlow) 추가하기
mydata$highlow = ifelse(mydata$mid + mydata$final < 160, "low", "high") View(mydata) |
기본 layer 만들기 : 스케치북 정도로 이해
library(ggplot2) p <- ggplot(data = mydata) p |
p <- ggplot(data = mydata) + theme_bw() p |
테마는 다음과 같은 종류가 있다.
- theme_gray(): 회색 배경과 흰색 그래프를 사용하는 테마이다.
- theme_classic(): 흰색 배경과 검은색 축선을 사용하는 클래식한 테마이다.
- theme_minimal(): 축선과 라벨만 있는 간소화된 테마이다.
- theme_void(): 배경과 축선이 없는 테마로 데이터를 강조하고자 할 때 사용한다.
산점도 layer 만들기 : 기본 레이어 위에 추가한다고 생각
p <- p + geom_point(aes(x=mid, y=final)) # 즉, ggplot(data = mydata) + theme_bw() + geom_point(aes(x=mid, y=final)) p |
geom_point()는 산점도를 만들어 주는 함수라고 생각하자.
aes는 속성정도로 생각하자.
제목, 소제목, 축제목 등 만들기
p <- p + labs(title = "성적분포", subtitle = "(중간고사 기말고사 기준)", x = "중간고사", # 대문자로 지정하면 적용되지 않음 y = "기말고사", caption = "성적을 확인하고 싶으면 이곳을 클릭하세요.") |
aes() 함수 : 매핑을 지정하기 위한 함수로 색상, 크기, 모양 등을 매핑한다.
- color, size, shape, alpha, group, fill, stroke 등이 있다.
p <- p + aes( color = gender, # 성별에 따라 다르도록 size = rep(c(5, 10, 15), each = 5), # 5,10,15를 번갈아 가면서 5회 반복 shape = highlow, # 평가에 따라 모양이 다르도록 alpha = 0.8) |
점 색상 설정 및 key값 설정하기
scale은 우리가 뭔가를 바꾸고 싶을 때 사용하는 것이라고 생각하자. 두 가지 방법 중 하나를 사용한다.
방법1) scale_color_manual(values = ... , #색상설정
labels = ...) # key값 설정
p <- p + scale_color_manual( values = c("red", "blue"), labels = c("여자", "남자")) |
방법2) scale_color_brewer(palette = 팔레트 선택 ,
labels = ...)
library(RColorBrewer) p <- p + scale_color_brewer( palette = Set1, labels = c("남자", "여자")) |
팔레트는 Accent, Dark2, Paired, Pastel1, Pastel2, Set1, Set2, Set3 등이 있다.
범례 키값 변경하기
p <- p + scale_shape_discrete( labels = c("상위권", "하위권")) #보통, 우수에서 저렇게 바뀜 |
투명도와 사이즈 삭제하기
p <- p + scale_alpha_identity() + scale_size_identity() |
scale_alpha_identity()
scale_size_identity() 로 해당부분 없앰
범례 위치 변경하기
theme(legend.position="옵션")
- right, left, bottom, top, none이 있다.
범례 배치하기
guides(속성 = guide_legend(내용))
- title, ncol, byrow, reverse, order 등이 있다.
'언어 > R' 카테고리의 다른 글
[R-012] R - markdown (0) | 2023.05.14 |
---|---|
[R-011] ggplot2 - geom_bar() (0) | 2023.05.05 |
[R-009] 패키지 - 데이터 시각화 (0) | 2023.04.16 |
[R-008] R패키지 - 데이터 핸들링(dplyr) (0) | 2023.04.15 |
[R-007] 외부 데이터 불러오기, 저장하기 (0) | 2023.04.12 |
댓글