패키지 소개

패키지 설치 & 패키지 내장 데이터소개

#devtools::install_github("king4k1/seoulsubway")
library(seoulsubway)
data("subway_sample")
data("subway_data")
data("subway_data_DT")
data("transfer_info")
data("transfer_station")
data("seoul_station")
data("seoul_route")
data("subway_route")


# subway_sample은 5000건의 샘플 경로를 포함합니다.
head(subway_sample)

# transfer_info는 환승역, 환승거리 및 소요시간 정보(서울교통공사 17.10 기준) 내용을 포함합니다. 이때 제공되지 않는 정보에 대하여 평균 환승시간 2.35(2분 21초) 입력하였습니다.
# 이세중. 환승 소요시간이 평균 2분 21초임을 고려해... [http://news.kbs.co.kr/news/view.do?ncd=3501669]
head(transfer_info)

# transfer_station은 모든 환승가능한 역에 대한 정보를 포함합니다.
head(transfer_station)

# subway_data는 지하철 1-9호선과 UI(우이신설), A(공항철도), K(경의중앙선), B(분당선),
# S(신분당선)에 대한 정보와 해당노선에 속하는 지선이 포함된 22개의 list형태의 데이터입니다.
names(subway_data)

# subway_data_DT는 subway_data에 속하는 모든 역들을 모아놓은 데이터테이블입니다.
head(subway_data_DT)

# seoul_route는 4월 한달동안의 데이터에서 포함한 유일한 형태의 지하철 역을 포함하였습니다.
head(seoul_route)

# subway_route는 위에서 소개한 seoul_route에 대한 정보를 이용하여 241x241행렬의 하삼각행렬에 해당하는 요소에 대한 정보를 포함한 데이터입니다.
subway_route[["혜화-먹골"]]
subway_route[["먹골-혜화"]]

최단거리 함수 내 내장함수 소개

get_pathinfo(total, start, end, line)

get_pathinfo(total=nrow(subway_data[["2"]]), start=10, end=15, line="2")

# 위 결과는 2호선 내 10번째 역과 15번째 역 사이의 소요시간과 이동회수를 산출하였습니다.

get_transfercriteria(depart, arrival, penalty)

knitr::include_graphics("penalty1.png")
get_transfercriteria(depart="먹골", arrival="혜화", penalty=0.05)

get_transferinfo(depart, depart_line, arrival, arrival_line, transfer_count)

knitr::include_graphics("penalty2.png")
# 단계에 대한 설명은 공간을 제약하여 환승경유지를 산출하고, 환승경로가 동일한 역 혹은 결측값으로 나오는 경우는 제외한 정보를 포함하는 결과만을 산출함.
get_transferinfo(depart="먹골", depart_line="7", 
                 arrival="혜화", arrival_line="4", transfer_count=1)

get_transferinfo(depart="먹골", depart_line="7", 
                 arrival="혜화", arrival_line="4", transfer_count=2)

get_transferinfo(depart="강동", depart_line="5_A", 
                 arrival="봉화산", arrival_line="6", transfer_count=3)

최단거리 함수

shortestpath_0(depart, depart_line, arrival, arrival_line)

shortestpath_0(depart="먹골", depart_line="7", arrival="건대입구", arrival_line="7")

shortestpath_1(depart, depart_line, arrival, arrival_line)

shortestpath_1(depart="먹골", depart_line="7", arrival="혜화", arrival_line="4")

shortestpath_2(depart, depart_line, arrival, arrival_line)

shortestpath_2(depart="먹골", depart_line="7", arrival="혜화", arrival_line="4")

shortestpath_3(depart, depart_line, arrival, arrival_line)

shortestpath_3(depart="강동", depart_line="5_A", 
               arrival="봉화산", arrival_line="6")

shortestpath(depart, depart_line, arrival, arrival_line)

shortestpath(depart="강동", arrival="봉화산")
shortestpath(depart="혜화", arrival = "먹골")

최단거리 함수를 이용한 분석함수

get_path(depart, depart_line, arrival, arrival_line)

get_path(depart="먹골", arrival="혜화")

get_total_count(dat, depart_name, arrival_name)

total_count <- get_total_count(dat=subway_sample, depart_name = "up_Name", 
                               arrival_name = "down_Name")
total_count_upper500 <- total_count[which(total_count$count>=500),]
ggplot(data=total_count_upper500, aes(x=station, y=count, fill = station)) + geom_bar(stat="identity") +  theme(axis.text.x=element_text(angle=90, face="bold")) + theme(legend.position="none")


king4k1/seoulsubway documentation built on Nov. 18, 2019, 3:38 p.m.