데이터 R지?
Ch12_사람들은 어디로 많이 갔을까?
jsBae
2022. 4. 25. 18:51
1. SK Big Data Hub
2. 데이터 수집
3. 데이터 살펴보기
4. 데이터 정제하기
5. 데이터 시각화하기
1. SK Big Data Hub
SK Data Hub (https://www.bigdatahub.co.kr/index.do
2. 데이터 수집
FLT_SEOUL_03MONTH.xlsx
library(readxl)
data <- read_excel("FLT_SEOUL_03MONTH.xlsx")
또는
install.packages("openxlsx")
library(openxlsx)
data <- read.xlsx("FLT_SEOUL_03MONTH.xlsx", colnames=T, sheet=1)
View(data)
3. 데이터 살펴보기
dim(data)
str(data)
table(data$시)
#서울시 변수 삭제
data <- data[-5]
#변수명 변경
colnames(data) <- c("Date","Time","Age","Sex","District","FLT_Popul")
4. 데이터 정제하기
#변수형 변경
#factor 형변경
data[c(2,3,4,5)] <- lapply(data[c(2,3,4,5)], as.factor)
#numeric
data$FLT_Popul <- as.numeric(data$FLT_Popul)
#date
data$Date <- as.Date(data$Date, format = "%Y%m%d")
str(data)
#summary(data)
summary(data)
5. 데이터 시각화하기
library(ggplot2)
ggplot(data, aes(District, FLT_Popul)) +
geom_bar(stat = "identity")+
labs(title = "서울시 행정구역별 유동인구 수", x="행정구역", y="유동인구(합)")
#reorder() 함수 사용하여 정렬
- Reorder() 함수의 첫번째 인수에는 정렬대상, 두번째 인수에는 어떤 값에 의해 정렬할지 설정, (-) 연산자와 함께 작성하여 내림차순 정렬함.
- 색 채우기 위해 fill 인수에 값 할당함
- 범례 보이지 않게 하기 위해, geom_bar() 함수에 show.legend = FALSE 인수 추가 함.
ggplot(data, aes(x=reorder(District, -FLT_Popul), y=FLT_Popul, fill=District)) +
geom_bar(stat = "identity", show.legend = F)+
labs(title = "서울시 행정구역별 유동인구 수", x="행정구역", y="유동인구(합)")+
theme(axis.text.x = element_text(angle = 45, size=8))
theme() 함수 – 레이블 변경, 그래프 테마 변경, 그래프 제목, 폰트, 배경색, 범례 꾸미기 등
- x축의 텍스트를 변경하고자 한다면, theme() 함수 안에 axis.text.x 인수를 element_text() 함수로 변경해 주어야 함.
- element_text() 함수 안에는 텍스트의 색, 사이즈, 각도, 텍스트 굵기, 여백 등 설정 가능
?theme
ggplot2에서 점 그래프 표현 위해서는 geom_point() 함수를 사용
ggplot(data, aes(Date, FLT_Popul, color=Age)) +
geom_point()
#facet_grid() 측면그리드 분활 그래프
ggplot(data, aes(Date, FLT_Popul, color=Age)) +
geom_point() +
facet_grid(cols = vars(District))
ggplot(data.new, aes(x=Date, y=FLT_Popul, color=Age))+
geom_point(size=2, alpha=0.7) +
facet_grid(cols = vars(District))+
labs(title = "강남구, 송파구 유동인구 변화", x="2019년 3월", y="유동인구") +
theme(axis.text.x = element_text(angle = 45, size =7 ))
측면(facets)으로 나누어 그리기
#facet_wrap()로 일차원 측면 그래프 그리기
- ~ 은 R에서 수식을 표현할 때 사용되는데, facet_wrap() 함수는 수식을 인수로 입력받는다.
- facet_wrap() 함수는 ~ 우변에 기술된 변수를 측면(facets)으로 하여 데이터를 나누어 그래프를 그린다.
ggplot(data.new, aes(x=Date, y=FLT_Popul, color=Age))+
geom_point(size=2, alpha=0.7) +
facet_grid(~District)+
labs(title = "강남구, 송파구 유동인구 변화", x="2019년 3월", y="유동인구") +
theme(axis.text.x = element_text(angle = 45, size =7 ))
ggplot(data.new, aes(x=Date, y=FLT_Popul, color=Age))+
geom_point(size=2, alpha=0.7) +
facet_grid(~Sex + District)+
labs(title = "강남구, 송파구 유동인구 변화", x="2019년 3월", y="유동인구") +
theme(axis.text.x = element_text(angle = 45, size =7 ))
#facet_grid()로 이차원 측면 그래프 그리기
ggplot(data.new, aes(x=Date, y=FLT_Popul, color=Age))+
geom_point(size=2, alpha=0.7) +
facet_grid(Sex~Distric
- facet_wrap() 함수와 마찬가지로 수식의 좌변과 우변에 +로 하나 이상의 변수를 지정할 수 있다.
728x90
반응형