rm(list = ls())
##upload the trip durations from the last iteration 
NPC  <- read.delim("C:/Users/shado/git/matsim-berlin/scenarios/berlin-v5.4-1pct/input/scenarios/berlin-v5.4-1pct/output-berlin-v5.4-1_No_Policy/ITERS/it.500/berlin-v5.4-1pct.500.linkstats.txt")

PC   <- read.delim("C:/Users/shado/git/matsim-berlin/scenarios/berlin-v5.4-1pct/input/scenarios/berlin-v5.4-1pct/output-berlin-v5.4-1pct_PT/ITERS/it.500/berlin-v5.4-1pct.500.linkstats.txt")
SK <- seq(7,154,3)
SK[1]<-1

NPCVolTime <- NPC[,SK]
LinkVolTimeNP <- NPCVolTime[1]              
for (i in 1:24){
  LinkVolTimeNP[,i+1]<-NPCVolTime[,i+1]*NPCVolTime[,i+26]
}
for (i in 1:nrow(LinkVolTimeNP)){
LinkVolTimeNP$Total[i] <- sum(LinkVolTimeNP[i,2:25])
}

TotalTravelTimeNP <- sum(LinkVolTimeNP$Total)
TotalTravelTimeNP/3600
## [1] 50551.13
PCVolTime <- PC[,SK]
LinkVolTimeP <- PCVolTime[1]              
for (i in 1:24){
  LinkVolTimeP[,i+1]<-PCVolTime[,i+1]*PCVolTime[,i+26]
}
for (i in 1:nrow(LinkVolTimeP)){
LinkVolTimeP$Total[i] <- sum(LinkVolTimeP[i,2:25])
}

TotalTravelTimeP <- sum(LinkVolTimeP$Total)
TotalTravelTimeP/3600
## [1] 50058.26
NPCDistance <- NPC[c("LINK", "LENGTH","HRS0.24max")]
PCDistance <- PC[c("LINK", "LENGTH","HRS0.24max")]

sum(NPCDistance$HRS0.24max)
## [1] 4775511
NPCDistance$Tdist <- NPCDistance$LENGTH*NPCDistance$HRS0.24max
PCDistance$Tdist <- PCDistance$LENGTH*PCDistance$HRS0.24max

sum(NPCDistance$Tdist)/1000
## [1] 1712910
sum(PCDistance$Tdist)/1000
## [1] 1705478
AK <- seq(27,50,1)

PCTime <- NPCVolTime[,AK]
NPCTime <- PCVolTime[,AK]

TTDiff <- setNames(data.frame(matrix(ncol = 4, nrow = nrow(PCTime))), c("Link","TTNPC","TTPC","TTDIFF"))

TTDiff$Link <- PCVolTime$LINK

for (i in 1:nrow(TTDiff)){
  TTDiff$TTNPC[i] <- (sum(NPCTime[i,])/ncol(NPCTime))
  TTDiff$TTPC[i]  <- (sum(PCTime[i,])/ncol(NPCTime))
  TTDiff$TTDIFF[i]<- (TTDiff$TTPC[i]-TTDiff$TTNPC[i])
}

TTDiffMAX <- TTDiff[with(TTDiff, order(-TTDIFF)), ]

head(TTDiffMAX, 30)
##          Link     TTNPC      TTPC    TTDIFF
## 88632   35822 249.58844 364.20824 114.61981
## 153176  94652  33.53559  99.24393  65.70833
## 56673  151543  21.52580  79.24451  57.71871
## 95342   41919  20.29382  76.52324  56.22942
## 147178  89200  58.92413 114.58605  55.66192
## 117750  62379  20.73730  76.14146  55.40416
## 72432   21098 161.34719 215.68978  54.34259
## 13725  112456  19.61749  72.90756  53.29007
## 142303  84799  28.61811  80.85421  52.23610
## 153572  95019  50.09640 101.62879  51.53239
## 59974  154559  61.81935 110.48332  48.66397
## 52426  147667  42.58862  90.33915  47.75053
## 15059   11366  25.29015  71.90484  46.61469
## 102478  48426  94.34303 140.40796  46.06492
## 36939  133576  72.12063 118.18404  46.06341
## 106779    524  84.36607 128.83531  44.46925
## 103790  49626  23.62493  67.06134  43.43641
## 55876   15082  19.84306  63.22665  43.38359
## 41949  138120  29.43064  71.40851  41.97787
## 131325  74774  35.39460  76.79166  41.39706
## 124019  68083  30.98945  72.28111  41.29167
## 23298  121174  16.37799  56.73235  40.35437
## 16776  115218  24.65493  64.88925  40.23432
## 135463  78544  25.94239  65.41600  39.47361
## 90317   37355 150.21278 189.65419  39.44141
## 37652  134222  86.75197 126.07033  39.31836
## 2865   102599  44.73877  82.31263  37.57386
## 132656   7599  30.27631  67.32766  37.05135
## 70969   19776  42.71162  79.43585  36.72423
## 11972  110871  76.81951 113.40285  36.58333
TTDiffMIN <- TTDiff[with(TTDiff, order(TTDIFF)), ]

head(TTDiffMIN, 30)
##          Link     TTNPC      TTPC    TTDIFF
## 21166  119240 170.64426  94.17578 -76.46848
## 123667  67765 200.37426 135.70575 -64.66850
## 50901   14629  88.52766  24.23851 -64.28915
## 117742  62371  76.24543  27.34182 -48.90362
## 110178  55476  84.11288  35.78956 -48.32331
## 140519  83162 106.66029  59.24363 -47.41667
## 112617  57712 110.45428  65.24247 -45.21181
## 95091   41691  66.96386  22.85969 -44.10417
## 16248   11474  81.55054  37.63901 -43.91152
## 157542  98630 158.21050 115.05938 -43.15112
## 97299   43701  69.67486  26.70364 -42.97122
## 94387   41052  68.12927  26.87980 -41.24947
## 155028  96342  65.85704  24.75304 -41.10400
## 64448   15866 131.73328  90.63605 -41.09722
## 16275  114764  97.97608  57.57892 -40.39716
## 12582  111421  97.26349  57.11766 -40.14583
## 120145  64557  66.96715  29.54688 -37.42027
## 97095   43515  47.87316  10.98511 -36.88805
## 114119  59088  61.64991  24.90359 -36.74632
## 105960  51625  69.83302  35.24569 -34.58733
## 154063  95468 109.03805  74.51601 -34.52204
## 84561   32136  69.94186  35.47914 -34.46272
## 39305  135723  53.55640  19.68140 -33.87500
## 94102   40797  48.88344  15.13344 -33.75000
## 5057   104583 101.69398  68.61065 -33.08333
## 75607   23983  63.79212  31.14817 -32.64395
## 7492   106802 174.01571 142.62507 -31.39063
## 23758  121593  62.59782  31.64973 -30.94809
## 116888   6160  74.17083  43.35480 -30.81603
## 21625  119662  53.31568  23.11825 -30.19743
NPCDiff<- NPC[c("LINK","HRS0.24max")]
PCD <- PC[c("LINK","HRS0.24max")]
PCD <- PCD %>%
  rename(HR0_24PolicyChange = HRS0.24max)

Diff <- merge(NPCDiff,PCD,by = "LINK")

Diff$D <- Diff$HR0_24PolicyChange-Diff$HRS0.24max

VolDiffMAX <- Diff[with(Diff, order(-D)), ]

head(VolDiffMAX, 10)
##          LINK HRS0.24max HR0_24PolicyChange  D
## 36454  133136        106                124 18
## 119054   6356         85                103 18
## 143523  85902         77                 95 18
## 29541  126837         39                 56 17
## 37825  134380        245                262 17
## 37826  134381        245                262 17
## 37837  134391        245                262 17
## 45903  141738        245                262 17
## 53926   14903        245                262 17
## 72158   20851         39                 56 17
VolDiffMIN <- Diff[with(Diff, order(D)), ]

head(VolDiffMIN, 10)
##          LINK HRS0.24max HR0_24PolicyChange    D
## 114555  59484        152                  1 -151
## 10877  109883        148                  1 -147
## 113492   5851        143                  1 -142
## 113451   5847         99                  1  -98
## 95732   42274        100                  7  -93
## 113481   5850         93                  0  -93
## 6026   105462         90                  1  -89
## 6265    10568         90                  1  -89
## 58669  153357         90                  1  -89
## 62220  156616         90                  1  -89
PT_Diff <- Diff %>%
  filter(str_detect(LINK, "pt_.*"))

PT_DiffMAX <- PT_Diff[with(PT_Diff, order(-D)), ]

head(PT_DiffMAX, 10)
##          LINK HRS0.24max HR0_24PolicyChange D
## 3840 pt_13452        184                185 1
## 1        pt_0         60                 60 0
## 2        pt_1         60                 60 0
## 3       pt_10        157                157 0
## 4      pt_100        112                112 0
## 5     pt_1000          6                  6 0
## 6    pt_10000         39                 39 0
## 7    pt_10001         39                 39 0
## 8    pt_10002         39                 39 0
## 9    pt_10003         39                 39 0
PT_DiffMIN <- PT_Diff[with(PT_Diff, order(D)), ]

head(PT_DiffMIN, 10)
##        LINK HRS0.24max HR0_24PolicyChange D
## 1      pt_0         60                 60 0
## 2      pt_1         60                 60 0
## 3     pt_10        157                157 0
## 4    pt_100        112                112 0
## 5   pt_1000          6                  6 0
## 6  pt_10000         39                 39 0
## 7  pt_10001         39                 39 0
## 8  pt_10002         39                 39 0
## 9  pt_10003         39                 39 0
## 10 pt_10004         39                 39 0
NPTD <- read.delim("C:/Users/shado/git/matsim-berlin/scenarios/berlin-v5.4-1pct/input/scenarios/berlin-v5.4-1pct/output-berlin-v5.4-1_No_Policy/ITERS/it.500/berlin-v5.4-1pct.500.tripdurations.txt")

PCTD <- read.delim("C:/Users/shado/git/matsim-berlin/scenarios/berlin-v5.4-1pct/input/scenarios/berlin-v5.4-1pct/output-berlin-v5.4-1pct_PT/ITERS/it.500/berlin-v5.4-1pct.500.tripdurations.txt")