[혼공R] 6주차_R

lets eat honeycombo·2025년 2월 24일
0

Chapter 06


1) 그래프 그리기


(1) 그래프 기본 틀 만들기 : ggplot() 함수

ggplot() 함수 : 그래프를 표현하는 좌표를 그리기 위한 판을 짜는 함수
ggplot(데이터 세트, aes(데이터속성))


(a) ggplot2 패키지 설치 및 로드하기


(b) 그래프 기본 틀 생성하기



(2) 산점도 그리기 : geom_point() 함수

ggplot() 함수 뒤에 + geom_point() 만 추가로 입력

(a) 산점도 그리기

(b) 산점도 점 크기와 색상 변경하기



(3) 선 그래프 그리기 : geom_line() 함수

ggplot() 함수 뒤에 + geom_line() 만 추가로 입력

(a) 선 그래프 그리기



(4) 막대 그래프 그리기 : geom_bar() 함수



4-1. 누적 막대 그래프 그리기

(a) 누적 막대 그래프 그리기


4-2. 누적막대 그래프로 그리는 선버스트 차트

누적 막대 그래프에 coord_polar() 함수 추가하면 선버스트 차트로 변환가능
선버스트 차트 : 계층 구조의 데이터를 수준별로 비율을 표시하는 그래프

(a) 선버스트 차트 그리기



(b) 도넛 모양 선버스트 차트 그리기

coord_polor() 함수에 theta = 'y' 옵션 추가



(4) 상자 그림 그리기 : geom_boxplot() 함수

(a) 상자 그림 그리기



(5) 히스토그램 그리기 : geom_histogram() 함수

ggplot() 함수 뒤에 + geom_histogram() 함수 추가

(a) 히스토그램 그리기



(6) 좀 더 알아보기 : 그래프에 그래프 더하기

기본숙제

(a) 선 그래프와 산점도 함께 그리기


(b) 선 그래프 컬러와 산점도 점 크기 변경하기

선 그래프 선은 빨간색으로, 점 크기는 3으로 키워서 그래프 그리기



2) 그래프에 객체 추가하기

  • 절편 (intercept) : 직선이 x축이나 y축과 만나는 좌표
  • 기울기 (slope) : 직선의 경사도
    ==> 절편과 기울기는 **회귀분석** (regression analysis)으로 구할 수 있음

(1) 사선 그리기 : geom_abline() 함수

그래프에 사선 추가하면, 그래프 추세 확인 가능
geom_abline(intercept = 절편, slope = 기울기)

(a) ggplot2 패키지 로드 및 econimics 데이터 세트 구조 확인하기

(b) 그래프에 사선 그리기



(2) 평행선 그리기 : geom_hline() 함수

평행선을 그래프에 추가하면, 평행선을 기준으로 그래프 변동 추이를 좀 더 명확하게 파악 가능
geom_hline(yintercept = y절편)
yintercept 옵션에 y축 절편 값을 입력하면 그 값에 따라 평행선 그림

(a) 그래프에 평행선 그리기



(3) 수직선 그리기 : geom_vline() 함수

수직선은 그래프의 특정 위치 나타냄
geom_hline() 함수와 반대로 옵션에 x축 절편 입력
geom_vline(xintercept = x절편)

(a) 그래프에 수직선 그리기


a-1. 참고 asDate()함수 이용해 날짜 형식으로 변환

geom_vline(xintercept = as.Date('2005-07-01'))


(4) 레이블 입력하기 : geom_text() 함수

Geom_text(aes(label = 레이블, vjust = 세로 위치, hjust = 가로 위치)

(a) 그래프에 텍스트 입력하기




(5) 도형 및 화살표 넣기 : annotate() 함수

annotate('모양', xmin = x축 시작, xmax = x축 끝, ymin = y축 시작, ymax = y축 끝)

(a) 그래프에 사각형 그리기


(b) 그래프에 화살표 그리기


(c) 그래프에 도형과 텍스트를 함께 표시하기



(6) 좀더 알아보기 1. 그래프와 축에 제목 추가하고 디자인 테마 적용하기

6-1. 그래프 제목 및 축 제목 추가하기 : labs() 함수

labs(x = 'x축명', y = 'y축명', title = '그래프 제목')

(a) 그래프와 축 제목 추가하기



3) 지도 시각화 : ggmap 패키지

(1) ggmap 패키지로 구글 지도 활용하기

register_google(key = '사용자 API 키)
get_googlemap(center, maptype = '지도유형')
--> 지도유형 : terrain(지형/기본값), satellite(인공위성), roadmap(로드맵), hybrid(인공위성+로드맵)

1-1. 위도와 경도 값으로 지도 가져오기

#예시
get_googlemap(c(lon = 127, lat = 37,6), maptype = 'roadmap')

1-2. 위치를 포함하는 문자열로 지도 가져오기

#예시
get_googlemap('seoul', maptype = 'roadmap')

  • ggmap() 함수 : 위치 데이터를 지도로 시각화
  • geocode() 함수 : 위치를 포함하는 문자열 (지명 혹은 주소)을 위도와 경도 값으로 반환

(a) ggmap 패키지 설치 및 로드하기

install.packages('ggmap')
library(ggmap)

(b) 구글 지도에서 서울시 지도 가져오기

register_google(key = '사용자 API 키를 입력하세요.')

gg_seoul <- get_googlemap('seoul', maptype = 'roadmap')
ggmap(gg_seoul)


(c) 지도에 대전역 좌표를 점으로 표시하기

library(dplyr)
library(ggplot2)

geo_code <- enc2utf8('대전역') %>% geocode()
deo_Data <- as.numeric(geo_code)

zoom 옵션 : 지도 확대하거나 축소하는 옵션

get_googlemap(center = geo_data, maptype = 'roadmap',
			  zoom = 13) %>% ggmap() +
  geom_point(data = geo_code, aes(x = geo_code$lon, y = geo_cpde$lat))

zoom = 9

zoom = 17


4) 숙제

1) 기본 숙제 : p. 288의 <좀 더 알아보기> 실습하고 결과화면 캡처하기

(a) 선 그래프와 산점도 함께 그리기


(b) 선 그래프 컬러와 산점도 점 크기 변경하기

선 그래프 선은 빨간색으로, 점 크기는 3으로 키워서 그래프 그리기

2) 추가 숙제 : 구글 API와 ggmap 패키지를 활용해서 원하는 장소의 지도를 불러온 후 결과 화면 인증하기

안양시

범계역

profile
열심히해서 허니콤보 맨날 먹자 !

0개의 댓글