까먹고 안올리고 있었다...
지금부터 시작~!!!!
오늘 포스팅할 글의 내용은! 지난번 미세먼지 분석과 간단한 시각화에 이어서 지하철 이용량에 대하여 분석해본 과정입니다><
2019/05/12 - [데이터 과학/내 발전과정_R] - 빅데이터 분석 (1)
빅데이터 분석 (1)
여러 주제를 고심하다가 요즘 가장 핫한 문제 중 하나인 '미세먼지'에 대해 알아보기로 했다. 미세먼지가 많은 날에는 사람들이 밖에 많이 나가지 않는다. 더군다나 걸어서나 대중교통은 더욱 이용하지 않을 것이..
dataiscoming.tistory.com
2019/05/31 - [데이터 과학/내 발전과정_데이터 시각화] - R을 이용한 간단한 미세먼지 데이터 시각화
R을 이용한 간단한 미세먼지 데이터 시각화
분석하는 과정을 보려면 2019/05/12 - [데이터 과학/내 발전과정_R] - 빅데이터 분석 (1) 빅데이터 분석 (1) 여러 주제를 고심하다가 요즘 가장 핫한 문제 중 하나인 '미세먼지'에 대해 알아보기로 했다. 미세먼지..
dataiscoming.tistory.com
R을 켰다!
우선 불러오는 경로를 선택해줍니다.
setwd("C:/Users/nsb05/Desktop/DIMIGO/R/Excel")
그리고 불러옵니다.
data <- read.csv("subway2018.csv", header = T)
이때, 제가 사용한
subway2018.csv 데이터 출처는
https://data.seoul.go.kr/dataList/datasetView.do?infId=OA-12921&srvType=F&serviceKind=1¤tPageNo=1
서울 열린데이터광장
태그 지하철 , 승차 , 하차 , 승하차인원 , 지하철역 , 시간대 , 시간 데이터수정일자 2017.05.17 이용허락조건 저작자표시-변경금지(BY-ND) 저작자와 출처 등을 표시하면 영리 목적의 이용은 가능하나, 변경 및 2차적 저작물의 작성은 허용되지 않습니다.
data.seoul.go.kr
입니다. (이름만 바꿔놨습니당)
원래 데이터의 모습은 아래와 같이 생겼는데요, 엑셀 데이터임에도 불구하고 24메가바이트나 되는 데이터라 엑셀에서 직접 수정하려니 프로그램이 멈추더라구요.
R을 쓰는 이유가 무엇인지 다시금 깨닫게 되었습니다.
보시면 아시겠지만 시간대별로, 역별로, 승하차별로 불필요한 데이터가 많습니다. 데이터는 사용 목적에 따라 필요한 부분이 천차만별이기 때문에 데이터 분석을 잘 하려면 내게 꼭 필요한 데이터를 골라내는게 중요합니다.
첫번째로, 시간별로 나눠논 데이터는 제게 필요 없습니다. 지금처럼 일별 데이터를 이용하는 경우 합계만 필요하죠. 역 번호와 역명도 같은 것이기 때문에 하나만 남겨줍니다.
또한, 헤더도 알아보기 쉬운 영어로 바꿔줍니다.
one <- data[,c(1, 2, 4, 5, 26)]
names(one) <- c("date", "num", "name", "case", "sum")
두번째로, 나는 승하차 데이터를 다룰 필요가 없다. 둘 중 하나만 다루면 되니 승차 데이터를 다루어보도록 하겠다. 승차인 행만 추출하여 two데이터에 저장한다.
two <- subset(one, case == "승차")
그리고 나중에 더하다보면 숫자가 아주 커질 것이므로 1000으로 나눠 주었다.
이제 숫자의 단위는 (천명)이 되는 것이다.
two$sum <- two$sum/1000
이제 모든 데이터의 case가 '승차'로 바뀌었으니 네번째 열은 필요가 없어졌다.
그리고 역 번호를 삭제하고 역명은 남겨뒀었지만 생각해보니 역명도 필요가 없었다.
한번에 삭제해주자.
three <- two[,c(1, 2, 5)]
그리고 str()함수를 이용해 데이터의 속성을 알아보았더니
str(three)
date와 num이 모두 Factor였던 것!
이제 date와 num이 무얼 의미하는지 알려주자.
three$date <- as.Date(three$date)
three$num <- as.numeric(three$num)
한마디로 형변환.
첫번째 줄은 as.Date()함수를 이용해 날짜라고 알려준 것이고
두번째 줄은 as.numeric()함수를 이용해 숫자라고 알려준 것이다.
이때 '1호선'이라고 되어 있는 데이터를 as.numeric()함수를 이용하면 바로 1로 바뀐다.
하지만 더 믿음직스러운 방법을 알려주자면
three$num <- gsub("호선", "", three$num)
위의 gsub()함수가 유용하다.
threee데이터의 num행에 있는 모든 데이터에서 "호선"이라는 글씨를 찾아 ""로 바꾸어주는 기능을 한다.
말하자면 엑셀의 찾아바꾸기 기능!
바꾼 데이터를 다시 three데이터의 num행에 넣어준다.
이렇게 바꾼 데이터는 character형이기 때문에 이후 numeric형으로 바꿔야 한다.
다음 포스팅에 이어서...
'데이터 과학 > R 데이터 분석과 시각화' 카테고리의 다른 글
석유화학산업발전동향 [데이터 시각화] - 1 (0) | 2019.07.11 |
---|---|
미세먼지와 대중교통 [ 데이터분석 ] - 5 (0) | 2019.06.09 |
미세먼지와 대중교통 [ 데이터 분석 ] - 4 (0) | 2019.06.09 |
미세먼지와 대중교통 [ 데이터분석 ] - 2 (0) | 2019.05.31 |
미세먼지와 대중교통 [ 데이터분석 ] - 1 (0) | 2019.05.12 |