Week 5!

1.)

library(tidyverse)
## Loading tidyverse: ggplot2
## Loading tidyverse: tibble
## Loading tidyverse: tidyr
## Loading tidyverse: readr
## Loading tidyverse: purrr
## Loading tidyverse: dplyr
## Conflicts with tidy packages ----------------------------------------------
## filter(): dplyr, stats
## lag():    dplyr, stats
wide <- readRDS("data5/bomber_wide.rds")

as_tibble(wide)
## # A tibble: 3 x 21
##     Type    MD  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005
## *  <chr> <chr> <int> <int> <int> <int> <int> <int> <int> <int> <int> <int>
## 1 Bomber   B-1 26914 25219 24205 23306 25013 25059 26581 21491 28118 21859
## 2 Bomber   B-2  2364  2776  2166  3672  4543  4754  5969  6801  5677  5228
## 3 Bomber  B-52 28511 26034 25639 24500 24387 24813 36687 30230 25493 27838
## # ... with 9 more variables: 2006 <int>, 2007 <int>, 2008 <int>,
## #   2009 <int>, 2010 <int>, 2011 <int>, 2012 <int>, 2013 <int>, 2014 <int>
wide %>% 
  gather(`1996`:`2014`, key = "year", value = "FH")
##      Type   MD year    FH
## 1  Bomber  B-1 1996 26914
## 2  Bomber  B-2 1996  2364
## 3  Bomber B-52 1996 28511
## 4  Bomber  B-1 1997 25219
## 5  Bomber  B-2 1997  2776
## 6  Bomber B-52 1997 26034
## 7  Bomber  B-1 1998 24205
## 8  Bomber  B-2 1998  2166
## 9  Bomber B-52 1998 25639
## 10 Bomber  B-1 1999 23306
## 11 Bomber  B-2 1999  3672
## 12 Bomber B-52 1999 24500
## 13 Bomber  B-1 2000 25013
## 14 Bomber  B-2 2000  4543
## 15 Bomber B-52 2000 24387
## 16 Bomber  B-1 2001 25059
## 17 Bomber  B-2 2001  4754
## 18 Bomber B-52 2001 24813
## 19 Bomber  B-1 2002 26581
## 20 Bomber  B-2 2002  5969
## 21 Bomber B-52 2002 36687
## 22 Bomber  B-1 2003 21491
## 23 Bomber  B-2 2003  6801
## 24 Bomber B-52 2003 30230
## 25 Bomber  B-1 2004 28118
## 26 Bomber  B-2 2004  5677
## 27 Bomber B-52 2004 25493
## 28 Bomber  B-1 2005 21859
## 29 Bomber  B-2 2005  5228
## 30 Bomber B-52 2005 27838
## 31 Bomber  B-1 2006 20163
## 32 Bomber  B-2 2006  6100
## 33 Bomber B-52 2006 28206
## 34 Bomber  B-1 2007 24629
## 35 Bomber  B-2 2007  6266
## 36 Bomber B-52 2007 22484
## 37 Bomber  B-1 2008 23024
## 38 Bomber  B-2 2008  4074
## 39 Bomber B-52 2008 20284
## 40 Bomber  B-1 2009 23065
## 41 Bomber  B-2 2009  4567
## 42 Bomber B-52 2009 18765
## 43 Bomber  B-1 2010 23398
## 44 Bomber  B-2 2010  4638
## 45 Bomber B-52 2010 18250
## 46 Bomber  B-1 2011 24166
## 47 Bomber  B-2 2011  4873
## 48 Bomber B-52 2011 21727
## 49 Bomber  B-1 2012 29292
## 50 Bomber  B-2 2012  4955
## 51 Bomber B-52 2012 21748
## 52 Bomber  B-1 2013 25253
## 53 Bomber  B-2 2013  4076
## 54 Bomber B-52 2013 19309
## 55 Bomber  B-1 2014 22204
## 56 Bomber  B-2 2014  5070
## 57 Bomber B-52 2014 21297

2.)

long <- readRDS("data5/bomber_long.rds")

as_tibble(long)
## # A tibble: 171 x 5
##      Type    MD    FY Output Value
##     <chr> <chr> <int>  <chr> <int>
## 1  Bomber   B-1  1996     FH 26914
## 2  Bomber   B-1  1997     FH 25219
## 3  Bomber   B-1  1998     FH 24205
## 4  Bomber   B-1  1999     FH 23306
## 5  Bomber   B-1  2000     FH 25013
## 6  Bomber   B-1  2001     FH 25059
## 7  Bomber   B-1  2002     FH 26581
## 8  Bomber   B-1  2003     FH 21491
## 9  Bomber   B-1  2004     FH 28118
## 10 Bomber   B-1  2005     FH 21859
## # ... with 161 more rows
long %>% 
  spread(key = "Output", value = "Value")
##      Type   MD   FY      Cost    FH   Gallons
## 1  Bomber  B-1 1996  72753781 26914  88594449
## 2  Bomber  B-1 1997  71297263 25219  85484074
## 3  Bomber  B-1 1998  84026805 24205  85259038
## 4  Bomber  B-1 1999  71848336 23306  79323816
## 5  Bomber  B-1 2000  58439777 25013  86230284
## 6  Bomber  B-1 2001  94946077 25059  86892432
## 7  Bomber  B-1 2002  96458536 26581  89198262
## 8  Bomber  B-1 2003  68650070 21491  74485788
## 9  Bomber  B-1 2004 101895634 28118 101397707
## 10 Bomber  B-1 2005 124816690 21859  78410415
## 11 Bomber  B-1 2006 174627869 20163  69984142
## 12 Bomber  B-1 2007 204486404 24629  85112485
## 13 Bomber  B-1 2008 266109848 23024  78084791
## 14 Bomber  B-1 2009 185902082 23065  81030579
## 15 Bomber  B-1 2010 237413270 23398  81253214
## 16 Bomber  B-1 2011 299215343 24166  82471246
## 17 Bomber  B-1 2012 374028795 29292 101238385
## 18 Bomber  B-1 2013 346054359 25253  85970844
## 19 Bomber  B-1 2014 289357667 22204  73145048
## 20 Bomber  B-2 1996   5863355  2364   3098498
## 21 Bomber  B-2 1997   6866121  2776   4323992
## 22 Bomber  B-2 1998   7891851  2166   4352750
## 23 Bomber  B-2 1999   9801821  3672   7325932
## 24 Bomber  B-2 2000   9618219  4543  10192466
## 25 Bomber  B-2 2001  13949654  4754   9693145
## 26 Bomber  B-2 2002  15938278  5969  11753559
## 27 Bomber  B-2 2003  15401463  6801  13877997
## 28 Bomber  B-2 2004  14158041  5677  11237771
## 29 Bomber  B-2 2005  21637940  5228  10770041
## 30 Bomber  B-2 2006  36500436  6100  12843899
## 31 Bomber  B-2 2007  35775133  6266  12683783
## 32 Bomber  B-2 2008  36623261  4074   8472438
## 33 Bomber  B-2 2009  27095024  4567   9299978
## 34 Bomber  B-2 2010  33674977  4638   9269549
## 35 Bomber  B-2 2011  43326111  4873   9553217
## 36 Bomber  B-2 2012  43322482  4955   9370581
## 37 Bomber  B-2 2013  41433404  4076   7925422
## 38 Bomber  B-2 2014  46326775  5070   9638853
## 39 Bomber B-52 1996  71051283 28511  99014843
## 40 Bomber B-52 1997  63767578 26034  88483438
## 41 Bomber B-52 1998  72563957 25639  85983307
## 42 Bomber B-52 1999  63267336 24500  82023136
## 43 Bomber B-52 2000  46983727 24387  80046278
## 44 Bomber B-52 2001  74897262 24813  81077269
## 45 Bomber B-52 2002 112111826 36687 117879809
## 46 Bomber B-52 2003  86410724 30230 108126138
## 47 Bomber B-52 2004  72806150 25493  86288229
## 48 Bomber B-52 2005 139059663 27838  99083069
## 49 Bomber B-52 2006 201736741 28206 100297373
## 50 Bomber B-52 2007 161218235 22484  80940424
## 51 Bomber B-52 2008 196858812 20284  71592012
## 52 Bomber B-52 2009 123246431 18765  66665854
## 53 Bomber B-52 2010 152292780 18250  65486545
## 54 Bomber B-52 2011 221528055 21727  74623498
## 55 Bomber B-52 2012 222391448 21748  73356234
## 56 Bomber B-52 2013 209017819 19309  64933573
## 57 Bomber B-52 2014 224248841 21297  70891306

3.)

combined <- readRDS("data5/bomber_combined.rds")
as_tibble(combined)
## # A tibble: 57 x 5
##            AC    FY      Cost    FH   Gallons
## *       <chr> <int>     <int> <int>     <int>
## 1  Bomber B-1  1996  72753781 26914  88594449
## 2  Bomber B-1  1997  71297263 25219  85484074
## 3  Bomber B-1  1998  84026805 24205  85259038
## 4  Bomber B-1  1999  71848336 23306  79323816
## 5  Bomber B-1  2000  58439777 25013  86230284
## 6  Bomber B-1  2001  94946077 25059  86892432
## 7  Bomber B-1  2002  96458536 26581  89198262
## 8  Bomber B-1  2003  68650070 21491  74485788
## 9  Bomber B-1  2004 101895634 28118 101397707
## 10 Bomber B-1  2005 124816690 21859  78410415
## # ... with 47 more rows
combined %>% 
  separate(AC, into = c("Type", "MD"), sep = " ")
##      Type   MD   FY      Cost    FH   Gallons
## 1  Bomber  B-1 1996  72753781 26914  88594449
## 2  Bomber  B-1 1997  71297263 25219  85484074
## 3  Bomber  B-1 1998  84026805 24205  85259038
## 4  Bomber  B-1 1999  71848336 23306  79323816
## 5  Bomber  B-1 2000  58439777 25013  86230284
## 6  Bomber  B-1 2001  94946077 25059  86892432
## 7  Bomber  B-1 2002  96458536 26581  89198262
## 8  Bomber  B-1 2003  68650070 21491  74485788
## 9  Bomber  B-1 2004 101895634 28118 101397707
## 10 Bomber  B-1 2005 124816690 21859  78410415
## 11 Bomber  B-1 2006 174627869 20163  69984142
## 12 Bomber  B-1 2007 204486404 24629  85112485
## 13 Bomber  B-1 2008 266109848 23024  78084791
## 14 Bomber  B-1 2009 185902082 23065  81030579
## 15 Bomber  B-1 2010 237413270 23398  81253214
## 16 Bomber  B-1 2011 299215343 24166  82471246
## 17 Bomber  B-1 2012 374028795 29292 101238385
## 18 Bomber  B-1 2013 346054359 25253  85970844
## 19 Bomber  B-1 2014 289357667 22204  73145048
## 20 Bomber  B-2 1996   5863355  2364   3098498
## 21 Bomber  B-2 1997   6866121  2776   4323992
## 22 Bomber  B-2 1998   7891851  2166   4352750
## 23 Bomber  B-2 1999   9801821  3672   7325932
## 24 Bomber  B-2 2000   9618219  4543  10192466
## 25 Bomber  B-2 2001  13949654  4754   9693145
## 26 Bomber  B-2 2002  15938278  5969  11753559
## 27 Bomber  B-2 2003  15401463  6801  13877997
## 28 Bomber  B-2 2004  14158041  5677  11237771
## 29 Bomber  B-2 2005  21637940  5228  10770041
## 30 Bomber  B-2 2006  36500436  6100  12843899
## 31 Bomber  B-2 2007  35775133  6266  12683783
## 32 Bomber  B-2 2008  36623261  4074   8472438
## 33 Bomber  B-2 2009  27095024  4567   9299978
## 34 Bomber  B-2 2010  33674977  4638   9269549
## 35 Bomber  B-2 2011  43326111  4873   9553217
## 36 Bomber  B-2 2012  43322482  4955   9370581
## 37 Bomber  B-2 2013  41433404  4076   7925422
## 38 Bomber  B-2 2014  46326775  5070   9638853
## 39 Bomber B-52 1996  71051283 28511  99014843
## 40 Bomber B-52 1997  63767578 26034  88483438
## 41 Bomber B-52 1998  72563957 25639  85983307
## 42 Bomber B-52 1999  63267336 24500  82023136
## 43 Bomber B-52 2000  46983727 24387  80046278
## 44 Bomber B-52 2001  74897262 24813  81077269
## 45 Bomber B-52 2002 112111826 36687 117879809
## 46 Bomber B-52 2003  86410724 30230 108126138
## 47 Bomber B-52 2004  72806150 25493  86288229
## 48 Bomber B-52 2005 139059663 27838  99083069
## 49 Bomber B-52 2006 201736741 28206 100297373
## 50 Bomber B-52 2007 161218235 22484  80940424
## 51 Bomber B-52 2008 196858812 20284  71592012
## 52 Bomber B-52 2009 123246431 18765  66665854
## 53 Bomber B-52 2010 152292780 18250  65486545
## 54 Bomber B-52 2011 221528055 21727  74623498
## 55 Bomber B-52 2012 222391448 21748  73356234
## 56 Bomber B-52 2013 209017819 19309  64933573
## 57 Bomber B-52 2014 224248841 21297  70891306

4.)

prefix <- readRDS("data5/bomber_prefix.rds")

prefix %>% 
  unite(MD, prefix, number, sep = "-") %>% 
  spread(key = "Output", value = "Value")
##      Type   MD   FY      Cost    FH   Gallons
## 1  Bomber  B-1 1996  72753781 26914  88594449
## 2  Bomber  B-1 1997  71297263 25219  85484074
## 3  Bomber  B-1 1998  84026805 24205  85259038
## 4  Bomber  B-1 1999  71848336 23306  79323816
## 5  Bomber  B-1 2000  58439777 25013  86230284
## 6  Bomber  B-1 2001  94946077 25059  86892432
## 7  Bomber  B-1 2002  96458536 26581  89198262
## 8  Bomber  B-1 2003  68650070 21491  74485788
## 9  Bomber  B-1 2004 101895634 28118 101397707
## 10 Bomber  B-1 2005 124816690 21859  78410415
## 11 Bomber  B-1 2006 174627869 20163  69984142
## 12 Bomber  B-1 2007 204486404 24629  85112485
## 13 Bomber  B-1 2008 266109848 23024  78084791
## 14 Bomber  B-1 2009 185902082 23065  81030579
## 15 Bomber  B-1 2010 237413270 23398  81253214
## 16 Bomber  B-1 2011 299215343 24166  82471246
## 17 Bomber  B-1 2012 374028795 29292 101238385
## 18 Bomber  B-1 2013 346054359 25253  85970844
## 19 Bomber  B-1 2014 289357667 22204  73145048
## 20 Bomber  B-2 1996   5863355  2364   3098498
## 21 Bomber  B-2 1997   6866121  2776   4323992
## 22 Bomber  B-2 1998   7891851  2166   4352750
## 23 Bomber  B-2 1999   9801821  3672   7325932
## 24 Bomber  B-2 2000   9618219  4543  10192466
## 25 Bomber  B-2 2001  13949654  4754   9693145
## 26 Bomber  B-2 2002  15938278  5969  11753559
## 27 Bomber  B-2 2003  15401463  6801  13877997
## 28 Bomber  B-2 2004  14158041  5677  11237771
## 29 Bomber  B-2 2005  21637940  5228  10770041
## 30 Bomber  B-2 2006  36500436  6100  12843899
## 31 Bomber  B-2 2007  35775133  6266  12683783
## 32 Bomber  B-2 2008  36623261  4074   8472438
## 33 Bomber  B-2 2009  27095024  4567   9299978
## 34 Bomber  B-2 2010  33674977  4638   9269549
## 35 Bomber  B-2 2011  43326111  4873   9553217
## 36 Bomber  B-2 2012  43322482  4955   9370581
## 37 Bomber  B-2 2013  41433404  4076   7925422
## 38 Bomber  B-2 2014  46326775  5070   9638853
## 39 Bomber B-52 1996  71051283 28511  99014843
## 40 Bomber B-52 1997  63767578 26034  88483438
## 41 Bomber B-52 1998  72563957 25639  85983307
## 42 Bomber B-52 1999  63267336 24500  82023136
## 43 Bomber B-52 2000  46983727 24387  80046278
## 44 Bomber B-52 2001  74897262 24813  81077269
## 45 Bomber B-52 2002 112111826 36687 117879809
## 46 Bomber B-52 2003  86410724 30230 108126138
## 47 Bomber B-52 2004  72806150 25493  86288229
## 48 Bomber B-52 2005 139059663 27838  99083069
## 49 Bomber B-52 2006 201736741 28206 100297373
## 50 Bomber B-52 2007 161218235 22484  80940424
## 51 Bomber B-52 2008 196858812 20284  71592012
## 52 Bomber B-52 2009 123246431 18765  66665854
## 53 Bomber B-52 2010 152292780 18250  65486545
## 54 Bomber B-52 2011 221528055 21727  74623498
## 55 Bomber B-52 2012 222391448 21748  73356234
## 56 Bomber B-52 2013 209017819 19309  64933573
## 57 Bomber B-52 2014 224248841 21297  70891306

5.)

mess <- readRDS("data5/bomber_mess.rds")

unmess <- mess %>% 
  unite(MD, prefix, number, sep = "-") %>% 
  separate(Metric, into = c("FY", "temp")) %>% 
  spread(key = "temp", value = "Value")

ggplot(data = unmess) +
  geom_smooth(mapping = aes(x = FY, y = Cost , group = MD, color = MD))

ggplot(data = unmess) +   
  geom_smooth(mapping = aes(x = FY, y = FH , group = MD, color = MD))

ggplot(data = unmess)+
  geom_smooth(mapping = aes(x = FY, y = Gallons , group = MD, color = MD))

6.)

progr <- readRDS("data5/ws_programmatics.rds")
categ <- readRDS("data5/ws_categorizations.rds")

as_tibble(progr)
## # A tibble: 36,328 x 18
##              Base    MD    FY Manpower_Ops Manpower_Mx
##             <chr> <chr> <int>        <dbl>       <dbl>
## 1  ALTUS AFB (OK)  A-10  2007           NA          NA
## 2  ALTUS AFB (OK)  A-10  2008           NA          NA
## 3  ALTUS AFB (OK) AT-38  1997           NA          NA
## 4  ALTUS AFB (OK) AT-38  1998           NA          NA
## 5  ALTUS AFB (OK) C-130  1998           NA          NA
## 6  ALTUS AFB (OK) C-130  1999           NA          NA
## 7  ALTUS AFB (OK) C-130  2000           NA          NA
## 8  ALTUS AFB (OK) C-130  2002           NA          NA
## 9  ALTUS AFB (OK) C-130  2003           NA          NA
## 10 ALTUS AFB (OK) C-130  2004           NA       19912
## # ... with 36,318 more rows, and 13 more variables:
## #   Manpower_Support_Staff <dbl>, Operating_Material <dbl>,
## #   Mx_Consumables <dbl>, Mx_DLR <dbl>, Mx_Depot_AC <dbl>,
## #   Mx_Depot_Missile <dbl>, Mx_Depot_Engine <dbl>, CLS <dbl>,
## #   Total_O.S <dbl>, Avg_Inv <dbl>, TAI <dbl>, End_Strength <dbl>,
## #   FH <dbl>
as_tibble(categ)
## # A tibble: 4,336 x 3
##              Base   System     MD
##             <chr>    <chr>  <chr>
## 1  ALTUS AFB (OK) AIRCRAFT   A-10
## 2  ALTUS AFB (OK) AIRCRAFT  AT-38
## 3  ALTUS AFB (OK) AIRCRAFT  C-130
## 4  ALTUS AFB (OK) AIRCRAFT  C-135
## 5  ALTUS AFB (OK) AIRCRAFT  C-141
## 6  ALTUS AFB (OK) AIRCRAFT   C-17
## 7  ALTUS AFB (OK) AIRCRAFT    C-5
## 8  ALTUS AFB (OK) AIRCRAFT    E-3
## 9  ALTUS AFB (OK) AIRCRAFT EC-130
## 10 ALTUS AFB (OK) AIRCRAFT   F-15
## # ... with 4,326 more rows
left_join(progr, categ, by = c("Base", "MD")) %>% 
  filter(FY == "2014") %>% 
  filter(Base == "MINOT AFB (ND)") %>%
  filter(System == "AIRCRAFT" | System == "MISSILES") %>% 
  group_by(System) %>% 
  mutate(sum(.$Total_O.S), sum(.$End_Strength, na.rm = TRUE))
## Source: local data frame [8 x 21]
## Groups: System [2]
## 
##             Base     MD    FY Manpower_Ops Manpower_Mx
##            <chr>  <chr> <int>        <dbl>       <dbl>
## 1 MINOT AFB (ND)   B-52  2014     30526714    96851312
## 2 MINOT AFB (ND)    E-4  2014           NA       92794
## 3 MINOT AFB (ND)  GB-52  2014           NA          NA
## 4 MINOT AFB (ND) OC-135  2014           NA          NA
## 5 MINOT AFB (ND)   T-38  2014           NA          NA
## 6 MINOT AFB (ND)   UH-1  2014      3984555      277855
## 7 MINOT AFB (ND) AGM-86  2014           NA    19789965
## 8 MINOT AFB (ND) LGM-30  2014     31565144    31425933
## # ... with 16 more variables: Manpower_Support_Staff <dbl>,
## #   Operating_Material <dbl>, Mx_Consumables <dbl>, Mx_DLR <dbl>,
## #   Mx_Depot_AC <dbl>, Mx_Depot_Missile <dbl>, Mx_Depot_Engine <dbl>,
## #   CLS <dbl>, Total_O.S <dbl>, Avg_Inv <dbl>, TAI <dbl>,
## #   End_Strength <dbl>, FH <dbl>, System <chr>, sum(.$Total_O.S) <dbl>,
## #   sum(.$End_Strength, na.rm = TRUE) <dbl>

7.)

procat2 <- left_join(progr, categ, by = c("Base", "MD")) %>%
  subset(!is.na(Total_O.S)) %>% 
  subset(!is.na(FH)) %>% 
  mutate(CPFH = Total_O.S / FH)

top10cpfh <- top_n(procat2, 10, wt = CPFH) %>% 
  select(Base,CPFH) %>% 
  arrange(CPFH)

ggplot(top10cpfh, aes(Base, CPFH)) +
  geom_bar(stat = "identity")

8.)

ggplot(data = procat2) + 
  geom_point(mapping = aes(x = End_Strength, y = Total_O.S), na.rm = TRUE, color = "blue")