본문 바로가기
데이터 청년 캠퍼스/사전교육

[쉽게 따라하는 데이터 분석] 7강 - 9강

by 뚱뚜루뚱 2022. 7. 13.

7강. 지하철 승하차 데이터 분석 따라하기_1

 

데이터 수집

공공데이터 포털 > 대전광역시 도시철도공사 역별 수송실적 > csv 파일 다운로드(파일 제공 기관, 파일 생성 일자, 파일 등록 일자, 미리보기 확인) > 엑셀 프로그램을 이용해 파일 확인하기

 

 

데이터 R로 불러오기, 패키지 설치하기

getwd()
daejeon_subway <- read.csv('대정광역시도시철도공사_역별 수송실적_20200930.csv')

 

데이터 확인 및 데이터프레임 이름 변경

# 데이터 확인하기
View(daejoen_subway)
head(daejoen_subway)
tail(daejoen_subway)

# 데이터 프레임 변수명 확인 및 변경
names(daejoen_subway)
names(daejoen_subway) <- c('역번호', '역명', 'Jan_승차', 'Jan_하차', 'Feb_승차', 'Feb_하차', 
		 	    'Mar_승차', 'Mar_하차', 'Apr_승차', 'Apr_하차', 'May_승차', 'May_하차', 
			    'Jun_승차', 'Jun_하차', 'Jul_승차', 'Jul_하차', 'Aug_승차', 'Aug_하차', 
                            'Sep_승차', 'Sep_하차', 'Oct_승차', 'Oct_하차', 'Nov_승차', 'Nov_하차', 'Dec_승차', 'Dec_하차')
names(daejoen_subway)

str(daejoen_subway) # 데이터 구조
dim(daejoen_subway) # 데이터 차원(행, 열)
length(daejoen_subway) # 데이터 객체 요소 개수

 

값이 없는 변수(열) 제거하기: Indexing

# 10월 ~ 12월 승하차 삭제
daejoen_subway_new <- daejoen_subway[, 1:20] 
daejoen_subway_new

 

 


 

 

8강. 지하철 승하차 데이터 분석 따라하기_2

1월 승차인원이 가장 많은 정류장?

# max를 사용하기 위한 패키지 dplyr 설치
install.packages('dplyr')
library(dplyr)

max_jan <- max(daejeon_subway_new$Jan_승차)
max_jan

filter(daejeon_subway_new, Jan_승차==max_jan)
jan_max_row <- arrange(daejeon_subway_new, desc(Jan_승차))
jan_max_row[1,] # 정렬 후 첫 행만 추출
which.max(daejeon_subway_new$Jan_승차) # 최대값이 있는 셀의 위치
daejeon_subway_new[which.max(daejeon_subway_new$Jan_승차),]

 

 

역별 1월과 3월의 승차인원 차이?

daejeon_subway_new$diff <- daejeon_subway_new$Jan_승차 - daejeon_subway_new$Mar_승차
head(daejeon_subway_new)

daejeon_subway_new1 <- mutate(daejeon_subway_new, diff = Jan_승차 - Mar_승차)
head(daejeon_subway_new1)
boxplot(daejeon_subway_new$Jan_승차, daejeon_subway_new$Mar_승차, main='지하철 승차인원 분포차이', 
	xlab='1월 vs 3월', ylab='승차인원(명)', names=c('1월','3월'))

 

 


 

 

9강. 기상정보를 활용한 불쾌지수 분석_1

데이터 수집

공공데이터 포털 > 제주특별자치도개발공사_기상정보 > csv 파일 다운로드(파일 제공 기관, 파일 생성 일자, 파일 등록 일자, 미리보기 확인) > 엑셀 프로그램을 이용해 파일 확인하기

 

데이터 R로 불러오기, 패키지 설치하기

install.packages('dplyr')
install.packages('ggplot2')
library(dplyr)
library(ggplot2)

data.raw <- read.csv(file.choose()) # 직접 불러올 파일 선택

 

데이터 확인 및 데이터프레임 이름 변경

View(data.raw)
head(data.raw)
tail(data.raw)
str(data.raw)

names(data.raw)
names(data.raw) <- c('일자', '평균기온', '최대기온', '최소기온', '평균지표온도', 
	 	     '최대지표온도', '최소지표온도', '습도', '일사량', '풍속')
names(data.raw)

 

일교차(최대기온 - 최소기온)

data.raw$일교차 <- (data.raw$최대기온 - data.raw$최소기온)
head(data.raw)

data.raw_tempdist <- mutate(data.raw, 일교차 = 최대기온 - 최소기온)
head(data.raw)

 

월(Month) 변수 추가하기

data.month <- mutate(data.raw_tempdist, 월 = substr(data.raw_tempdist$일자, 6, 7))
head(data.month)