-
Notifications
You must be signed in to change notification settings - Fork 4
/
nodeStats.R
67 lines (53 loc) · 1.48 KB
/
nodeStats.R
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#' Get node info
#'
#' Creates node statistics
#' Generates Number of Passenger Arrivals, Departures and Transfers
#'
#' @param x Data Frame to extract information from
#'
#' @examples
#' \dontrun{
#'
#' node_stats(OD_Sample)
#'
#'}
#'
#' @export
#'
node_stats <- function(x){
departures <- x %>%
group_by(origin) %>%
summarise(pass_dep = sum(passengers)) %>%
rename(airport = origin)
arrivals <- x %>%
group_by(dest) %>%
summarise(pass_arr = sum(passengers)) %>%
rename(airport = dest)
if(!is.null(x[["trip_break"]])){
transfers <- x %>%
group_by(dest) %>%
filter(trip_break == "") %>%
summarise(pass_tr = sum(passengers)) %>%
rename(airport = dest)
nodeStat <- merge(departures, arrivals, by = "airport", all = TRUE)
nodeStat <- nodeStat %>%
merge(transfers, by = "airport", all = TRUE) %>%
mutate_all(funs(ifelse(is.na(.), 0, .)))
}else{
nodeStat <- departures %>%
merge(arrivals, by = "airport", all = TRUE) %>%
mutate_all(funs(ifelse(is.na(.), 0, .))) %>%
mutate(pass_tr = 0)
}
nodeStat <- nodeStat %>%
merge(airportCodeFull, by.x = "airport", by.y = "origin", all.x = TRUE) %>%
mutate(freq = (pass_arr + (pass_dep-pass_tr)))
return(nodeStat)
}
nodeStats <- function(...){
warning(paste("nodeStats is deprecated, use node_stats(), instead."))
do.call(node_stats, list(...))
}
globalVariables(c("airportCodeFull", "departures",
"arrivals", "transfers", "pass_dep",
"pass_arr", "pass_tr"))