getwd()
## [1] "C:/Users/samsung/Desktop"
rm(list=ls())
setwd('c:/data')
library(dplyr)
##
## 다음의 패키지를 부착합니다: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
df<-read.csv("CARD_SUBWAY_MONTH_202310.csv",header=F)
glimpse(df)
## Rows: 18,912
## Columns: 6
## $ V1 <chr> "사용일자", "20231001", "20231001", "20231001", "20231001", "202310…
## $ V2 <chr> "노선명", "장항선", "중앙선", "중앙선", "중앙선", "중앙선", "중앙선…
## $ V3 <chr> "역명", "신창(순천향대)", "용문", "지평", "회기", "중랑", "상봉(시…
## $ V4 <chr> "승차총승객수", "1239", "2594", "79", "14745", "3521", "4188", "511…
## $ V5 <chr> "하차총승객수", "1223", "2176", "73", "15527", "3583", "4380", "502…
## $ V6 <chr> "등록일자", "20231004", "20231004", "20231004", "20231004", "202310…
# 첫번째 행이 제목으로 이동(전처리 작업 시작)
subway_202310<-df[2:18912,]
glimpse(subway_202310)
## Rows: 18,911
## Columns: 6
## $ V1 <chr> "20231001", "20231001", "20231001", "20231001", "20231001", "202310…
## $ V2 <chr> "장항선", "중앙선", "중앙선", "중앙선", "중앙선", "중앙선", "중앙선…
## $ V3 <chr> "신창(순천향대)", "용문", "지평", "회기", "중랑", "상봉(시외버스터…
## $ V4 <chr> "1239", "2594", "79", "14745", "3521", "4188", "5117", "1620", "825…
## $ V5 <chr> "1223", "2176", "73", "15527", "3583", "4380", "5021", "1612", "844…
## $ V6 <chr> "20231004", "20231004", "20231004", "20231004", "20231004", "202310…
names(subway_202310)<-c('date','line','station','on_pass','off_pass','a')
names(subway_202310)
## [1] "date" "line" "station" "on_pass" "off_pass" "a"
subway_2023<-subway_202310 %>% select(1:5)
glimpse(subway_202310)
## Rows: 18,911
## Columns: 6
## $ date <chr> "20231001", "20231001", "20231001", "20231001", "20231001", "…
## $ line <chr> "장항선", "중앙선", "중앙선", "중앙선", "중앙선", "중앙선", "…
## $ station <chr> "신창(순천향대)", "용문", "지평", "회기", "중랑", "상봉(시외…
## $ on_pass <chr> "1239", "2594", "79", "14745", "3521", "4188", "5117", "1620"…
## $ off_pass <chr> "1223", "2176", "73", "15527", "3583", "4380", "5021", "1612"…
## $ a <chr> "20231004", "20231004", "20231004", "20231004", "20231004", "…
summary(subway_202310)
## date line station on_pass
## Length:18911 Length:18911 Length:18911 Length:18911
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
## off_pass a
## Length:18911 Length:18911
## Class :character Class :character
## Mode :character Mode :character
# 문자(chr)을 숫자 정수데이터(int)로 변경
subway_202310$date<-as.integer(subway_202310$date)
subway_202310$on_pass<-as.integer(subway_202310$on_pass)
subway_202310$off_pass<-as.integer(subway_2023$off_pass)
glimpse(subway_202310)
## Rows: 18,911
## Columns: 6
## $ date <int> 20231001, 20231001, 20231001, 20231001, 20231001, 20231001, 2…
## $ line <chr> "장항선", "중앙선", "중앙선", "중앙선", "중앙선", "중앙선", "…
## $ station <chr> "신창(순천향대)", "용문", "지평", "회기", "중랑", "상봉(시외…
## $ on_pass <int> 1239, 2594, 79, 14745, 3521, 4188, 5117, 1620, 8250, 6023, 38…
## $ off_pass <int> 1223, 2176, 73, 15527, 3583, 4380, 5021, 1612, 8447, 5926, 49…
## $ a <chr> "20231004", "20231004", "20231004", "20231004", "20231004", "…
summary(subway_202310)
## date line station on_pass
## Min. :20231001 Length:18911 Length:18911 Min. : 1
## 1st Qu.:20231008 Class :character Class :character 1st Qu.: 3919
## Median :20231016 Mode :character Mode :character Median : 8007
## Mean :20231016 Mean :11167
## 3rd Qu.:20231024 3rd Qu.:14796
## Max. :20231031 Max. :93283
## off_pass a
## Min. : 0 Length:18911
## 1st Qu.: 3796 Class :character
## Median : 7809 Mode :character
## Mean : 11120
## 3rd Qu.: 14548
## Max. :102119
# 결측값 유무 확인
colSums(is.na(subway_202310))
## date line station on_pass off_pass a
## 0 0 0 0 0 0
table(subway_202310$line)
##
## 1호선 2호선 3호선 4호선 5호선
## 310 1550 1047 806 1736
## 6호선 7호선 8호선 9호선 9호선2~3단계
## 1172 1304 558 775 403
## 경강선 경부선 경원선 경의선 경인선
## 341 1209 905 848 620
## 경춘선 공항철도 1호선 과천선 분당선 서해선
## 589 434 248 1074 93
## 수인선 신림선 안산선 우이신설선 일산선
## 558 341 403 403 316
## 장항선 중앙선
## 217 651
table(subway_202310$station)
##
## 4.19민주묘지 가능
## 31 31
## 가락시장 가산디지털단지
## 62 62
## 가양 가오리
## 31 31
## 가좌 가천대
## 31 31
## 가평 간석
## 31 31
## 갈매 강남
## 31 31
## 강남구청 강동
## 62 31
## 강동구청 강매
## 31 31
## 강변(동서울터미널) 강일
## 31 31
## 강촌 개롱
## 31 31
## 개봉 개포동
## 31 31
## 개화 개화산
## 31 31
## 거여 건대입구
## 31 62
## 검암 경기광주
## 35 31
## 경마공원 경복궁(정부서울청사)
## 31 31
## 경찰병원 계양
## 31 36
## 고덕 고려대(종암)
## 31 31
## 고색 고속터미널
## 31 93
## 고잔 곡산
## 31 31
## 곤지암 공덕
## 31 124
## 공릉(서울과학기술대) 공항시장
## 31 31
## 공항화물청사 과천
## 31 31
## 관악 관악산(서울대)
## 31 31
## 광나루(장신대) 광명
## 31 31
## 광명사거리 광운대
## 31 31
## 광화문(세종문화회관) 광흥창(서강)
## 31 31
## 교대(법원.검찰청) 구로
## 62 31
## 구로디지털단지 구룡
## 31 31
## 구리 구반포
## 31 31
## 구산 구성
## 31 31
## 구의(광진구청) 구일
## 31 31
## 구파발 국수
## 31 31
## 국회의사당 군자(능동)
## 31 62
## 군포 굴봉산
## 31 31
## 굽은다리(강동구민회관앞) 금곡
## 31 31
## 금릉 금정
## 31 31
## 금천구청 금촌
## 31 31
## 금호 기흥
## 31 31
## 길동 길음
## 31 31
## 김유정 김포공항
## 31 126
## 까치산 낙성대(강감찬)
## 31 31
## 남구로 남동인더스파크
## 31 31
## 남부터미널(예술의전당) 남성
## 31 31
## 남영 남위례
## 31 31
## 남춘천 남태령
## 31 31
## 남한산성입구(성남법원.검찰청) 내방
## 31 31
## 노들 노량진
## 31 62
## 노원 녹번
## 62 31
## 녹사평(용산구청) 녹양
## 31 31
## 녹천 논현
## 31 31
## 능곡 단대오거리
## 31 31
## 달월 답십리
## 31 31
## 당고개 당곡
## 31 31
## 당산 당정
## 62 31
## 대곡 대공원
## 31 31
## 대림(구로구청) 대모산입구
## 62 31
## 대방 대성리
## 62 31
## 대야미 대청
## 31 31
## 대치 대화
## 31 31
## 대흥(서강대앞) 덕계
## 31 31
## 덕소 덕정
## 31 31
## 도곡 도농
## 62 31
## 도림천 도봉
## 31 31
## 도봉산 도심
## 62 31
## 도원 도화
## 31 31
## 독립문 독바위
## 31 31
## 독산 돌곶이
## 31 31
## 동대문 동대문역사문화공원(DDP)
## 62 93
## 동대입구 동두천
## 31 31
## 동두천중앙 동묘앞
## 31 62
## 동암 동인천
## 31 31
## 동작(현충원) 두정
## 62 31
## 둔촌동 둔촌오륜
## 31 31
## 등촌 디지털미디어시티
## 31 93
## 뚝섬 뚝섬유원지
## 31 31
## 마곡 마곡나루(서울식물원)
## 31 62
## 마두 마들
## 31 31
## 마석 마장
## 31 31
## 마천 마포
## 31 31
## 마포구청 망우
## 31 31
## 망원 망월사
## 31 31
## 망포 매교
## 31 31
## 매봉 매탄권선
## 31 31
## 먹골 면목
## 31 31
## 명동 명일
## 31 31
## 명학 모란
## 31 62
## 목동 몽촌토성(평화의문)
## 31 31
## 무악재 문래
## 31 31
## 문산 문정
## 31 31
## 미금 미사
## 31 31
## 미아(서울사이버대학) 미아사거리
## 31 31
## 반월 반포
## 31 31
## 발산 방배
## 31 31
## 방이 방학
## 31 31
## 방화 배방
## 31 31
## 백마 백석
## 31 31
## 백양리 백운
## 31 31
## 버티고개 범계
## 31 31
## 별내 병점
## 31 31
## 보라매 보라매공원
## 62 31
## 보라매병원 보문
## 31 62
## 보산 보정
## 31 31
## 복정 봉명
## 51 31
## 봉은사 봉천
## 31 31
## 봉화산(서울의료원) 부개
## 31 31
## 부발 부천
## 31 31
## 부천종합운동장 부평
## 31 31
## 북한산보국문 북한산우이
## 31 31
## 불광 사가정
## 62 31
## 사당 사릉
## 62 31
## 사리 사평
## 31 31
## 산본 산성
## 31 31
## 삼각지 삼동
## 62 31
## 삼성(무역센터) 삼성중앙
## 31 31
## 삼송 삼양
## 31 31
## 삼양사거리 삼전
## 31 31
## 상갈 상계
## 31 31
## 상도 상동
## 31 2
## 상록수 상봉(시외버스터미널)
## 31 62
## 상수 상왕십리
## 31 31
## 상월곡(한국과학기술연구원) 상일동
## 31 31
## 상천 새절(신사)
## 31 31
## 샛강 서강대
## 62 31
## 서대문 서동탄
## 31 31
## 서빙고 서울대벤처타운
## 31 31
## 서울대입구(관악구청) 서울숲
## 31 31
## 서울역 서울지방병무청
## 155 31
## 서원 서정리
## 31 31
## 서초 서현
## 31 31
## 석계 석수
## 62 31
## 석촌 석촌고분
## 62 31
## 선릉 선바위
## 62 31
## 선유도 선정릉
## 31 62
## 성균관대 성수
## 31 31
## 성신여대입구(돈암) 성환
## 62 31
## 세류 세마
## 31 31
## 세종대왕릉 소래포구
## 31 31
## 소사 소요산
## 31 31
## 솔밭공원 솔샘
## 31 31
## 송내 송도
## 31 31
## 송정 송탄
## 31 31
## 송파 송파나루
## 31 31
## 수내 수락산
## 31 31
## 수리산 수색
## 31 31
## 수서 수원
## 62 62
## 수원시청 수유(강북구청)
## 31 31
## 수진 숙대입구(갈월)
## 31 31
## 숭실대입구(살피재) 숭의
## 31 31
## 시청 신갈
## 62 31
## 신금호 신길
## 31 62
## 신길온천 신내
## 31 41
## 신논현 신답
## 31 31
## 신당 신대방
## 62 31
## 신대방삼거리 신도림
## 31 62
## 신둔도예촌 신림
## 31 62
## 신목동 신반포
## 31 31
## 신방화 신사
## 31 31
## 신설동 신용산
## 93 31
## 신원 신이문
## 31 31
## 신정(은행정) 신정네거리
## 31 31
## 신창(순천향대) 신촌
## 31 62
## 신포 신풍
## 31 31
## 신흥 쌍문
## 31 31
## 쌍용(나사렛대) 아산
## 31 31
## 아신 아차산(어린이대공원후문)
## 31 31
## 아현 안국
## 31 31
## 안산 안암(고대병원앞)
## 31 31
## 안양 암사
## 31 31
## 압구정 압구정로데오
## 31 31
## 애오개 야당
## 31 31
## 야목 야탑
## 31 31
## 약수 양수
## 62 31
## 양원 양재(서초구청)
## 31 31
## 양정 양주
## 31 31
## 양천구청 양천향교
## 31 31
## 양평 어린이대공원(세종대)
## 62 31
## 어천 언주
## 31 31
## 여의나루 여의도
## 31 62
## 여주 역곡
## 31 31
## 역삼 역촌
## 31 31
## 연수 연신내
## 31 46
## 염창 영등포
## 31 31
## 영등포구청 영등포시장
## 62 31
## 영종 영통
## 31 31
## 오금 오류동
## 62 31
## 오리 오목교(목동운동장앞)
## 31 31
## 오목천 오빈
## 31 31
## 오산 오산대
## 31 31
## 오이도 옥수
## 31 62
## 온수(성공회대입구) 온양온천
## 62 31
## 올림픽공원(한국체대) 왕십리(성동구청)
## 62 93
## 외대앞 용답
## 31 31
## 용두(동대문구청) 용마산(용마폭포공원)
## 31 31
## 용문 용산
## 31 31
## 우장산 운길산
## 31 31
## 운서 운정
## 31 31
## 운천 원당
## 31 31
## 원덕 원인재
## 31 31
## 원종 원흥
## 31 31
## 월계 월곡(동덕여대)
## 31 31
## 월곶 월드컵경기장(성산)
## 31 31
## 월롱 을지로3가
## 31 62
## 을지로4가 을지로입구
## 62 31
## 응봉 응암
## 31 31
## 의왕 의정부
## 31 31
## 이대 이매
## 31 62
## 이수 이천
## 31 31
## 이촌(국립중앙박물관) 이태원
## 62 31
## 인덕원 인천
## 31 62
## 인천공항1터미널 인천공항2터미널
## 31 31
## 인천논현 인하대
## 31 31
## 일산 일원
## 31 31
## 임진강 잠실(송파구청)
## 31 62
## 잠실나루 잠실새내
## 31 31
## 잠원 장승배기
## 31 31
## 장암 장지
## 31 31
## 장한평 정릉
## 31 31
## 정발산 정부과천청사
## 31 31
## 정왕 정자
## 31 31
## 제기동 제물포
## 31 31
## 종각 종로3가
## 31 93
## 종로5가 종합운동장
## 31 62
## 주안 주엽
## 31 31
## 죽전 중계
## 31 31
## 중곡 중동
## 31 31
## 중랑 중앙
## 31 31
## 중앙보훈병원 중화
## 31 31
## 증미 증산(명지대앞)
## 31 31
## 지축 지평
## 37 31
## 지행 직산
## 31 31
## 진위 창동
## 31 37
## 창신 천마산
## 31 31
## 천안 천왕
## 31 31
## 천호(풍납토성) 철산
## 62 31
## 청구 청담
## 62 31
## 청라국제도시 청량리(서울시립대입구)
## 31 62
## 청명 청평
## 31 31
## 초월 초지
## 31 31
## 총신대입구(이수) 춘천
## 31 31
## 충무로 충정로(경기대입구)
## 55 62
## 탄현 탕정
## 31 31
## 태릉입구 태평
## 62 31
## 퇴계원 파주
## 31 31
## 판교 팔당
## 31 31
## 평내호평 평촌
## 31 31
## 평택 평택지제
## 31 31
## 풍산 하계
## 31 31
## 하남검단산 하남시청(덕풍·신장)
## 31 31
## 하남풍산 학동
## 31 31
## 학여울 한강진
## 31 31
## 한남 한대앞
## 31 31
## 한성대입구(삼선교) 한성백제
## 31 31
## 한양대 한티
## 31 31
## 합정 행당
## 62 31
## 행신 혜화
## 31 31
## 호구포 홍대입구
## 31 93
## 홍제 화계
## 31 31
## 화곡 화랑대(서울여대입구)
## 31 31
## 화서 화전
## 31 31
## 화정 회기
## 31 31
## 회룡 회현(남대문시장)
## 31 31
## 효창공원앞 흑석(중앙대입구)
## 62 31
#역의 하루 평균 승차고객수와 하차고객수는?
subway_202310 %>% summarize(on_p=mean(on_pass),off_p=mean(off_pass))
## on_p off_p
## 1 11167.22 11119.51
# 승차승객수가 가장 많은 노선과 승차승객수는?
subway_202310 %>% filter(on_pass==max(on_pass))
## date line station on_pass off_pass a
## 1 20231013 2호선 강남 93283 91309 20231016
# 전체 승객수는 승차총객수 + 하자총객수로 정의한다. 역별로 평균전체 승객수 상위 3개 역은?
subway_202310 %>% group_by(station) %>%
mutate(total_pass=on_pass+off_pass) %>%
summarize(m=mean(total_pass)) %>% arrange(desc(m)) %>% head(3)
## # A tibble: 3 × 2
## station m
## <chr> <dbl>
## 1 강남 138210.
## 2 구로디지털단지 103397.
## 3 삼성(무역센터) 96809.