# Analysis of killdeer data illustrating model averaging

# 2019-05-01 CJS Initial version

# This is the killdeer data that ships with RMark
# which has been saved as a *.csv file

library(ggplot2)
## Registered S3 methods overwritten by 'ggplot2':
##   method         from 
##   [.quosures     rlang
##   c.quosures     rlang
##   print.quosures rlang
library(RMark)
## This is RMark 2.2.6
##  Documentation available at http://www.phidot.org/software/mark/rmark/RMarkDocumentation.zip
source(file.path("..","..","RMark.additional.functions.r"))

# The dataframe must contain the following fields with the following names
#
#   FirstFound: day the nest was first found
#    LastPresent: last day that a chick was present in the nest
#    LastChecked: last day the nest was checked
#    Fate: fate of the nest; 0=hatch an
#    Freq: number of nests with this data
#
# In this example, the multiple visits to a nest have been collapsed
# to a single record for each nest.
# In more complex examples, you may have multple records per nest
# as shown in the mallard example.
#

killdata <- readxl::read_excel(file.path("..","Killdeer.xlsx"), 
                               sheet="killdeer")
head(killdata)
## # A tibble: 6 x 6
##   id    FirstFound LastPresent LastChecked  Fate  Freq
##   <chr>      <dbl>       <dbl>       <dbl> <dbl> <dbl>
## 1 /*A*/          1           9           9     0     1
## 2 /*B*/          5           5           9     1     1
## 3 /*C*/          5          40          40     0     1
## 4 /*D*/          9          32          32     0     1
## 5 /*E*/          7           8           8     0     1
## 6 /*F*/          3          15          15     0     1
# what are the parameters of the model
# There is only one parameter, the daily survival probality (S)
setup.parameters("Nest", check=TRUE)
## [1] "S"
# 1. Process the data.
# The nocc variable is the data at which hatching occurs
kill.proc <- process.data(killdata, model="Nest", nocc=40)
kill.proc
## $data
## # A tibble: 18 x 6
##    id    FirstFound LastPresent LastChecked  Fate  freq
##    <chr>      <dbl>       <dbl>       <dbl> <dbl> <dbl>
##  1 /*A*/          1           9           9     0     1
##  2 /*B*/          5           5           9     1     1
##  3 /*C*/          5          40          40     0     1
##  4 /*D*/          9          32          32     0     1
##  5 /*E*/          7           8           8     0     1
##  6 /*F*/          3          15          15     0     1
##  7 /*G*/          8          32          32     0     1
##  8 /*H*/         14          14          16     1     1
##  9 /*I*/          8          14          14     0     1
## 10 /*J*/         13          14          14     0     1
## 11 /*K*/         14          33          33     0     1
## 12 /*L*/         15          37          37     0     1
## 13 /*M*/         16          37          40     1     1
## 14 /*N*/         16          28          32     1     1
## 15 /*O*/         16          17          17     0     1
## 16 /*P*/         21          28          33     1     1
## 17 /*Q*/         23          33          34     1     1
## 18 /*R*/         27          29          29     0     1
## 
## $model
## [1] "Nest"
## 
## $mixtures
## [1] 1
## 
## $freq
##    group1
## 1       1
## 2       1
## 3       1
## 4       1
## 5       1
## 6       1
## 7       1
## 8       1
## 9       1
## 10      1
## 11      1
## 12      1
## 13      1
## 14      1
## 15      1
## 16      1
## 17      1
## 18      1
## 
## $nocc
## [1] 40
## 
## $nocc.secondary
## NULL
## 
## $time.intervals
##  [1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
## [36] 1 1 1 1 1
## 
## $begin.time
## [1] 1
## 
## $age.unit
## [1] 1
## 
## $initial.ages
## [1] 0
## 
## $group.covariates
## NULL
## 
## $nstrata
## [1] 1
## 
## $strata.labels
## [1] ""
## 
## $counts
## NULL
## 
## $reverse
## [1] FALSE
## 
## $areas
## NULL
## 
## $events
## NULL
# 2. Examine and/or modify the ddl. Here you could standardize covariates
kill.ddl <- make.design.data(kill.proc)
kill.ddl$S$Time2 <- (kill.ddl$S$Time-20)^2
kill.ddl 
## $S
##    par.index model.index group age time Age Time Time2
## 1          1           1     1   0    1   0    0   400
## 2          2           2     1   1    2   1    1   361
## 3          3           3     1   2    3   2    2   324
## 4          4           4     1   3    4   3    3   289
## 5          5           5     1   4    5   4    4   256
## 6          6           6     1   5    6   5    5   225
## 7          7           7     1   6    7   6    6   196
## 8          8           8     1   7    8   7    7   169
## 9          9           9     1   8    9   8    8   144
## 10        10          10     1   9   10   9    9   121
## 11        11          11     1  10   11  10   10   100
## 12        12          12     1  11   12  11   11    81
## 13        13          13     1  12   13  12   12    64
## 14        14          14     1  13   14  13   13    49
## 15        15          15     1  14   15  14   14    36
## 16        16          16     1  15   16  15   15    25
## 17        17          17     1  16   17  16   16    16
## 18        18          18     1  17   18  17   17     9
## 19        19          19     1  18   19  18   18     4
## 20        20          20     1  19   20  19   19     1
## 21        21          21     1  20   21  20   20     0
## 22        22          22     1  21   22  21   21     1
## 23        23          23     1  22   23  22   22     4
## 24        24          24     1  23   24  23   23     9
## 25        25          25     1  24   25  24   24    16
## 26        26          26     1  25   26  25   25    25
## 27        27          27     1  26   27  26   26    36
## 28        28          28     1  27   28  27   27    49
## 29        29          29     1  28   29  28   28    64
## 30        30          30     1  29   30  29   29    81
## 31        31          31     1  30   31  30   30   100
## 32        32          32     1  31   32  31   31   121
## 33        33          33     1  32   33  32   32   144
## 34        34          34     1  33   34  33   33   169
## 35        35          35     1  34   35  34   34   196
## 36        36          36     1  35   36  35   35   225
## 37        37          37     1  36   37  36   36   256
## 38        38          38     1  37   38  37   37   289
## 39        39          39     1  38   39  38   38   324
## 
## $pimtypes
## $pimtypes$S
## $pimtypes$S$pim.type
## [1] "all"
# 3. Set up the set of model to fit
model.list.csv <- textConnection(
" S
 ~1
 ~Time
 ~Time+Time2
")

model.list <- read.csv(model.list.csv, header=TRUE, as.is=TRUE, strip.white=TRUE)
model.list$model.number <- 1:nrow(model.list)
model.list
##             S model.number
## 1          ~1            1
## 2       ~Time            2
## 3 ~Time+Time2            3
# fit the models
myobs <- ls()
myobs <- myobs[ grepl("m...",myobs,fixed=TRUE)]
cat("Removing ", myobs, "\n")
## Removing
rm(list=myobs)

model.fits <- plyr::dlply(model.list, "model.number", function(x,input.data, input.ddl){
  cat("\n\n***** Starting ", unlist(x), "\n")
  
  fit <- RMark::mark(input.data, ddl=input.ddl,
                     model="Nest",
                     model.parameters=list(
                       S   =list(formula=as.formula(eval(x$S)))
                     )
                     #,brief=TRUE,output=FALSE, delete=TRUE
                     #,invisible=TRUE,output=TRUE  # set for debugging
  )
  mnumber <- paste("m...",formatC(x$model.number, width = 3, format = "d", flag = "0"),sep="")
  assign( mnumber, fit, envir=.GlobalEnv)
  #browser()
  fit
  
},input.data=kill.proc, input.ddl=kill.ddl)
## 
## 
## ***** Starting  ~1 1
## Warning: Unknown or uninitialised column: 'ch'.
## Warning: Unknown or uninitialised column: 'AgeDay1'.
## 
## Output summary for Nest model
## Name : S(~1) 
## 
## Npar :  1
## -2lnL:  42.51028
## AICc :  44.52951
## 
## Beta
##               estimate        se      lcl      ucl
## S:(Intercept) 3.557002 0.4141776 2.745214 4.368791
## 
## 
## Real Parameter S
##          1         2         3         4         5         6         7
##  0.9722669 0.9722669 0.9722669 0.9722669 0.9722669 0.9722669 0.9722669
##          8         9        10        11        12        13        14
##  0.9722669 0.9722669 0.9722669 0.9722669 0.9722669 0.9722669 0.9722669
##         15        16        17        18        19        20        21
##  0.9722669 0.9722669 0.9722669 0.9722669 0.9722669 0.9722669 0.9722669
##         22        23        24        25        26        27        28
##  0.9722669 0.9722669 0.9722669 0.9722669 0.9722669 0.9722669 0.9722669
##         29        30        31        32        33        34        35
##  0.9722669 0.9722669 0.9722669 0.9722669 0.9722669 0.9722669 0.9722669
##         36        37        38        39
##  0.9722669 0.9722669 0.9722669 0.9722669
## 
## 
## ***** Starting  ~Time 2
## Warning: Unknown or uninitialised column: 'ch'.

## Warning: Unknown or uninitialised column: 'AgeDay1'.
## 
## Output summary for Nest model
## Name : S(~Time) 
## 
## Npar :  2
## -2lnL:  40.97847
## AICc :  45.03644
## 
## Beta
##                 estimate        se        lcl       ucl
## S:(Intercept)  4.9372980 1.3402857  2.3103379 7.5642581
## S:Time        -0.0622855 0.0526986 -0.1655748 0.0410037
## 
## 
## Real Parameter S
##          1         2         3         4         5         6         7
##  0.9928771 0.9924229 0.9919398 0.9914263 0.9908803 0.9902999 0.9896829
##          8         9        10        11        12        13       14
##  0.9890272 0.9883302 0.9875895 0.9868025 0.9859663 0.9850778 0.984134
##         15       16        17        18        19        20        21
##  0.9831316 0.982067 0.9809365 0.9797361 0.9784619 0.9771094 0.9756741
##         22        23        24       25        26        27        28
##  0.9741512 0.9725356 0.9708221 0.969005 0.9670787 0.9650369 0.9628734
##         29        30        31        32        33        34        35
##  0.9605815 0.9581542 0.9555844 0.9528645 0.9499868 0.9469432 0.9437253
##         36        37        38        39
##  0.9403246 0.9367321 0.9329388 0.9289353
## 
## 
## ***** Starting  ~Time+Time2 3
## Warning: Unknown or uninitialised column: 'ch'.

## Warning: Unknown or uninitialised column: 'AgeDay1'.
## 
## Output summary for Nest model
## Name : S(~Time + Time2) 
## 
## Npar :  3
## -2lnL:  38.08174
## AICc :  44.19824
## 
## Beta
##                 estimate        se        lcl          ucl
## S:(Intercept)  5.3641150 1.1259280  3.1572960 7.5709339000
## S:Time        -0.0474837 0.0382368 -0.1224279 0.0274605000
## S:Time2       -0.0073305 0.0040110 -0.0151920 0.0005309712
## 
## 
## Real Parameter S
##          1         2         3         4         5         6         7
##  0.9192284 0.9352522 0.9475521 0.9570223 0.9643453 0.9700358 0.9744798
##          8         9        10        11        12        13        14
##  0.9779657 0.9807093 0.9828721 0.9845751 0.9859089 0.9869413 0.9877225
##        15        16        17        18        19        20        21
##  0.988289 0.9886665 0.9888719 0.9889139 0.9887946 0.9885086 0.9880434
##         22        23        24        25        26        27        28
##  0.9873782 0.9864824 0.9853133 0.9838129 0.9819032 0.9794804 0.9764054
##         29       30        31        32        33        34        35
##  0.9724929 0.967495 0.9610801 0.9528053 0.9420809 0.9281289 0.9099389
##         36       37        38        39
##  0.8862323 0.855461 0.8158832 0.7657827
# examine individula model results
model.number <-1
names(model.fits[[model.number]])
##  [1] "data"             "model"            "title"           
##  [4] "model.name"       "links"            "mixtures"        
##  [7] "call"             "parameters"       "time.intervals"  
## [10] "number.of.groups" "group.labels"     "nocc"            
## [13] "begin.time"       "covariates"       "fixed"           
## [16] "design.matrix"    "pims"             "design.data"     
## [19] "strata.labels"    "mlogit.list"      "profile.int"     
## [22] "simplify"         "model.parameters" "results"         
## [25] "output"
model.fits[[model.number]]$model.name
## [1] "S(~1)"
summary(model.fits[[model.number]])
## Output summary for Nest model
## Name : S(~1) 
## 
## Npar :  1
## -2lnL:  42.51028
## AICc :  44.52951
## 
## Beta
##               estimate        se      lcl      ucl
## S:(Intercept) 3.557002 0.4141776 2.745214 4.368791
## 
## 
## Real Parameter S
##          1         2         3         4         5         6         7
##  0.9722669 0.9722669 0.9722669 0.9722669 0.9722669 0.9722669 0.9722669
##          8         9        10        11        12        13        14
##  0.9722669 0.9722669 0.9722669 0.9722669 0.9722669 0.9722669 0.9722669
##         15        16        17        18        19        20        21
##  0.9722669 0.9722669 0.9722669 0.9722669 0.9722669 0.9722669 0.9722669
##         22        23        24        25        26        27        28
##  0.9722669 0.9722669 0.9722669 0.9722669 0.9722669 0.9722669 0.9722669
##         29        30        31        32        33        34        35
##  0.9722669 0.9722669 0.9722669 0.9722669 0.9722669 0.9722669 0.9722669
##         36        37        38        39
##  0.9722669 0.9722669 0.9722669 0.9722669
model.fits[[model.number]]$results$real
##             estimate        se       lcl       ucl fixed    note
## S g1 a0 t1 0.9722669 0.0111679 0.9396425 0.9874919
model.fits[[model.number]]$results$beta
##               estimate        se      lcl      ucl
## S:(Intercept) 3.557002 0.4141776 2.745214 4.368791
model.fits[[model.number]]$results$derived
## $`S Overall Survival`
##    estimate        se       lcl       ucl
## 1 0.3339134 0.1495833 0.1182906 0.6519547
get.real(model.fits[[model.number]], "S", se=TRUE)
##              all.diff.index par.index  estimate        se       lcl
## S g1 a0 t1                1         1 0.9722669 0.0111679 0.9396425
## S g1 a1 t2                2         1 0.9722669 0.0111679 0.9396425
## S g1 a2 t3                3         1 0.9722669 0.0111679 0.9396425
## S g1 a3 t4                4         1 0.9722669 0.0111679 0.9396425
## S g1 a4 t5                5         1 0.9722669 0.0111679 0.9396425
## S g1 a5 t6                6         1 0.9722669 0.0111679 0.9396425
## S g1 a6 t7                7         1 0.9722669 0.0111679 0.9396425
## S g1 a7 t8                8         1 0.9722669 0.0111679 0.9396425
## S g1 a8 t9                9         1 0.9722669 0.0111679 0.9396425
## S g1 a9 t10              10         1 0.9722669 0.0111679 0.9396425
## S g1 a10 t11             11         1 0.9722669 0.0111679 0.9396425
## S g1 a11 t12             12         1 0.9722669 0.0111679 0.9396425
## S g1 a12 t13             13         1 0.9722669 0.0111679 0.9396425
## S g1 a13 t14             14         1 0.9722669 0.0111679 0.9396425
## S g1 a14 t15             15         1 0.9722669 0.0111679 0.9396425
## S g1 a15 t16             16         1 0.9722669 0.0111679 0.9396425
## S g1 a16 t17             17         1 0.9722669 0.0111679 0.9396425
## S g1 a17 t18             18         1 0.9722669 0.0111679 0.9396425
## S g1 a18 t19             19         1 0.9722669 0.0111679 0.9396425
## S g1 a19 t20             20         1 0.9722669 0.0111679 0.9396425
## S g1 a20 t21             21         1 0.9722669 0.0111679 0.9396425
## S g1 a21 t22             22         1 0.9722669 0.0111679 0.9396425
## S g1 a22 t23             23         1 0.9722669 0.0111679 0.9396425
## S g1 a23 t24             24         1 0.9722669 0.0111679 0.9396425
## S g1 a24 t25             25         1 0.9722669 0.0111679 0.9396425
## S g1 a25 t26             26         1 0.9722669 0.0111679 0.9396425
## S g1 a26 t27             27         1 0.9722669 0.0111679 0.9396425
## S g1 a27 t28             28         1 0.9722669 0.0111679 0.9396425
## S g1 a28 t29             29         1 0.9722669 0.0111679 0.9396425
## S g1 a29 t30             30         1 0.9722669 0.0111679 0.9396425
## S g1 a30 t31             31         1 0.9722669 0.0111679 0.9396425
## S g1 a31 t32             32         1 0.9722669 0.0111679 0.9396425
## S g1 a32 t33             33         1 0.9722669 0.0111679 0.9396425
## S g1 a33 t34             34         1 0.9722669 0.0111679 0.9396425
## S g1 a34 t35             35         1 0.9722669 0.0111679 0.9396425
## S g1 a35 t36             36         1 0.9722669 0.0111679 0.9396425
## S g1 a36 t37             37         1 0.9722669 0.0111679 0.9396425
## S g1 a37 t38             38         1 0.9722669 0.0111679 0.9396425
## S g1 a38 t39             39         1 0.9722669 0.0111679 0.9396425
##                    ucl fixed    note group age time Age Time
## S g1 a0 t1   0.9874919                   1   0    1   0    0
## S g1 a1 t2   0.9874919                   1   1    2   1    1
## S g1 a2 t3   0.9874919                   1   2    3   2    2
## S g1 a3 t4   0.9874919                   1   3    4   3    3
## S g1 a4 t5   0.9874919                   1   4    5   4    4
## S g1 a5 t6   0.9874919                   1   5    6   5    5
## S g1 a6 t7   0.9874919                   1   6    7   6    6
## S g1 a7 t8   0.9874919                   1   7    8   7    7
## S g1 a8 t9   0.9874919                   1   8    9   8    8
## S g1 a9 t10  0.9874919                   1   9   10   9    9
## S g1 a10 t11 0.9874919                   1  10   11  10   10
## S g1 a11 t12 0.9874919                   1  11   12  11   11
## S g1 a12 t13 0.9874919                   1  12   13  12   12
## S g1 a13 t14 0.9874919                   1  13   14  13   13
## S g1 a14 t15 0.9874919                   1  14   15  14   14
## S g1 a15 t16 0.9874919                   1  15   16  15   15
## S g1 a16 t17 0.9874919                   1  16   17  16   16
## S g1 a17 t18 0.9874919                   1  17   18  17   17
## S g1 a18 t19 0.9874919                   1  18   19  18   18
## S g1 a19 t20 0.9874919                   1  19   20  19   19
## S g1 a20 t21 0.9874919                   1  20   21  20   20
## S g1 a21 t22 0.9874919                   1  21   22  21   21
## S g1 a22 t23 0.9874919                   1  22   23  22   22
## S g1 a23 t24 0.9874919                   1  23   24  23   23
## S g1 a24 t25 0.9874919                   1  24   25  24   24
## S g1 a25 t26 0.9874919                   1  25   26  25   25
## S g1 a26 t27 0.9874919                   1  26   27  26   26
## S g1 a27 t28 0.9874919                   1  27   28  27   27
## S g1 a28 t29 0.9874919                   1  28   29  28   28
## S g1 a29 t30 0.9874919                   1  29   30  29   29
## S g1 a30 t31 0.9874919                   1  30   31  30   30
## S g1 a31 t32 0.9874919                   1  31   32  31   31
## S g1 a32 t33 0.9874919                   1  32   33  32   32
## S g1 a33 t34 0.9874919                   1  33   34  33   33
## S g1 a34 t35 0.9874919                   1  34   35  34   34
## S g1 a35 t36 0.9874919                   1  35   36  35   35
## S g1 a36 t37 0.9874919                   1  36   37  36   36
## S g1 a37 t38 0.9874919                   1  37   38  37   37
## S g1 a38 t39 0.9874919                   1  38   39  38   38
# Model comparision and averaging
# collect models and make AICc table

model.set <- RMark::collect.models( type="Nest")
model.set
##              model npar     AICc DeltaAICc    weight Deviance
## 3 S(~Time + Time2)    3 44.19824 0.0000000 0.3992023 38.08174
## 1            S(~1)    1 44.52951 0.3312659 0.3382669 42.51028
## 2         S(~Time)    2 45.03644 0.8381992 0.2625309 40.97847
names(model.set)
## [1] "m...001"     "m...002"     "m...003"     "model.table"
model.set$model.table
##               S            model npar     AICc DeltaAICc    weight
## 3 ~Time + Time2 S(~Time + Time2)    3 44.19824 0.0000000 0.3992023
## 1            ~1            S(~1)    1 44.52951 0.3312659 0.3382669
## 2         ~Time         S(~Time)    2 45.03644 0.8381992 0.2625309
##   Deviance
## 3 38.08174
## 1 42.51028
## 2 40.97847
# model averaged values
get.real(model.set[[1]], "S", se=TRUE)
##              all.diff.index par.index  estimate        se       lcl
## S g1 a0 t1                1         1 0.9722669 0.0111679 0.9396425
## S g1 a1 t2                2         1 0.9722669 0.0111679 0.9396425
## S g1 a2 t3                3         1 0.9722669 0.0111679 0.9396425
## S g1 a3 t4                4         1 0.9722669 0.0111679 0.9396425
## S g1 a4 t5                5         1 0.9722669 0.0111679 0.9396425
## S g1 a5 t6                6         1 0.9722669 0.0111679 0.9396425
## S g1 a6 t7                7         1 0.9722669 0.0111679 0.9396425
## S g1 a7 t8                8         1 0.9722669 0.0111679 0.9396425
## S g1 a8 t9                9         1 0.9722669 0.0111679 0.9396425
## S g1 a9 t10              10         1 0.9722669 0.0111679 0.9396425
## S g1 a10 t11             11         1 0.9722669 0.0111679 0.9396425
## S g1 a11 t12             12         1 0.9722669 0.0111679 0.9396425
## S g1 a12 t13             13         1 0.9722669 0.0111679 0.9396425
## S g1 a13 t14             14         1 0.9722669 0.0111679 0.9396425
## S g1 a14 t15             15         1 0.9722669 0.0111679 0.9396425
## S g1 a15 t16             16         1 0.9722669 0.0111679 0.9396425
## S g1 a16 t17             17         1 0.9722669 0.0111679 0.9396425
## S g1 a17 t18             18         1 0.9722669 0.0111679 0.9396425
## S g1 a18 t19             19         1 0.9722669 0.0111679 0.9396425
## S g1 a19 t20             20         1 0.9722669 0.0111679 0.9396425
## S g1 a20 t21             21         1 0.9722669 0.0111679 0.9396425
## S g1 a21 t22             22         1 0.9722669 0.0111679 0.9396425
## S g1 a22 t23             23         1 0.9722669 0.0111679 0.9396425
## S g1 a23 t24             24         1 0.9722669 0.0111679 0.9396425
## S g1 a24 t25             25         1 0.9722669 0.0111679 0.9396425
## S g1 a25 t26             26         1 0.9722669 0.0111679 0.9396425
## S g1 a26 t27             27         1 0.9722669 0.0111679 0.9396425
## S g1 a27 t28             28         1 0.9722669 0.0111679 0.9396425
## S g1 a28 t29             29         1 0.9722669 0.0111679 0.9396425
## S g1 a29 t30             30         1 0.9722669 0.0111679 0.9396425
## S g1 a30 t31             31         1 0.9722669 0.0111679 0.9396425
## S g1 a31 t32             32         1 0.9722669 0.0111679 0.9396425
## S g1 a32 t33             33         1 0.9722669 0.0111679 0.9396425
## S g1 a33 t34             34         1 0.9722669 0.0111679 0.9396425
## S g1 a34 t35             35         1 0.9722669 0.0111679 0.9396425
## S g1 a35 t36             36         1 0.9722669 0.0111679 0.9396425
## S g1 a36 t37             37         1 0.9722669 0.0111679 0.9396425
## S g1 a37 t38             38         1 0.9722669 0.0111679 0.9396425
## S g1 a38 t39             39         1 0.9722669 0.0111679 0.9396425
##                    ucl fixed    note group age time Age Time
## S g1 a0 t1   0.9874919                   1   0    1   0    0
## S g1 a1 t2   0.9874919                   1   1    2   1    1
## S g1 a2 t3   0.9874919                   1   2    3   2    2
## S g1 a3 t4   0.9874919                   1   3    4   3    3
## S g1 a4 t5   0.9874919                   1   4    5   4    4
## S g1 a5 t6   0.9874919                   1   5    6   5    5
## S g1 a6 t7   0.9874919                   1   6    7   6    6
## S g1 a7 t8   0.9874919                   1   7    8   7    7
## S g1 a8 t9   0.9874919                   1   8    9   8    8
## S g1 a9 t10  0.9874919                   1   9   10   9    9
## S g1 a10 t11 0.9874919                   1  10   11  10   10
## S g1 a11 t12 0.9874919                   1  11   12  11   11
## S g1 a12 t13 0.9874919                   1  12   13  12   12
## S g1 a13 t14 0.9874919                   1  13   14  13   13
## S g1 a14 t15 0.9874919                   1  14   15  14   14
## S g1 a15 t16 0.9874919                   1  15   16  15   15
## S g1 a16 t17 0.9874919                   1  16   17  16   16
## S g1 a17 t18 0.9874919                   1  17   18  17   17
## S g1 a18 t19 0.9874919                   1  18   19  18   18
## S g1 a19 t20 0.9874919                   1  19   20  19   19
## S g1 a20 t21 0.9874919                   1  20   21  20   20
## S g1 a21 t22 0.9874919                   1  21   22  21   21
## S g1 a22 t23 0.9874919                   1  22   23  22   22
## S g1 a23 t24 0.9874919                   1  23   24  23   23
## S g1 a24 t25 0.9874919                   1  24   25  24   24
## S g1 a25 t26 0.9874919                   1  25   26  25   25
## S g1 a26 t27 0.9874919                   1  26   27  26   26
## S g1 a27 t28 0.9874919                   1  27   28  27   27
## S g1 a28 t29 0.9874919                   1  28   29  28   28
## S g1 a29 t30 0.9874919                   1  29   30  29   29
## S g1 a30 t31 0.9874919                   1  30   31  30   30
## S g1 a31 t32 0.9874919                   1  31   32  31   31
## S g1 a32 t33 0.9874919                   1  32   33  32   32
## S g1 a33 t34 0.9874919                   1  33   34  33   33
## S g1 a34 t35 0.9874919                   1  34   35  34   34
## S g1 a35 t36 0.9874919                   1  35   36  35   35
## S g1 a36 t37 0.9874919                   1  36   37  36   36
## S g1 a37 t38 0.9874919                   1  37   38  37   37
## S g1 a38 t39 0.9874919                   1  38   39  38   38
get.real(model.set[[2]], "S", se=TRUE)
##              all.diff.index par.index  estimate        se       lcl
## S g1 a0 t1                1         1 0.9928771 0.0094787 0.9097296
## S g1 a1 t2                2         2 0.9924229 0.0097027 0.9126190
## S g1 a2 t3                3         3 0.9919398 0.0099182 0.9153905
## S g1 a3 t4                4         4 0.9914263 0.0101238 0.9180448
## S g1 a4 t5                5         5 0.9908803 0.0103177 0.9205823
## S g1 a5 t6                6         6 0.9902999 0.0104980 0.9230028
## S g1 a6 t7                7         7 0.9896829 0.0106632 0.9253056
## S g1 a7 t8                8         8 0.9890272 0.0108112 0.9274892
## S g1 a8 t9                9         9 0.9883302 0.0109404 0.9295514
## S g1 a9 t10              10        10 0.9875895 0.0110492 0.9314887
## S g1 a10 t11             11        11 0.9868025 0.0111361 0.9332964
## S g1 a11 t12             12        12 0.9859663 0.0112002 0.9349680
## S g1 a12 t13             13        13 0.9850778 0.0112410 0.9364948
## S g1 a13 t14             14        14 0.9841340 0.0112589 0.9378652
## S g1 a14 t15             15        15 0.9831316 0.0112554 0.9390639
## S g1 a15 t16             16        16 0.9820670 0.0112338 0.9400711
## S g1 a16 t17             17        17 0.9809365 0.0111994 0.9408604
## S g1 a17 t18             18        18 0.9797361 0.0111608 0.9413980
## S g1 a18 t19             19        19 0.9784619 0.0111303 0.9416397
## S g1 a19 t20             20        20 0.9771094 0.0111251 0.9415288
## S g1 a20 t21             21        21 0.9756741 0.0111683 0.9409938
## S g1 a21 t22             22        22 0.9741512 0.0112892 0.9399461
## S g1 a22 t23             23        23 0.9725356 0.0115233 0.9382794
## S g1 a23 t24             24        24 0.9708221 0.0119108 0.9358712
## S g1 a24 t25             25        25 0.9690050 0.0124937 0.9325866
## S g1 a25 t26             26        26 0.9670787 0.0133122 0.9282842
## S g1 a26 t27             27        27 0.9650369 0.0144012 0.9228208
## S g1 a27 t28             28        28 0.9628734 0.0157890 0.9160546
## S g1 a28 t29             29        29 0.9605815 0.0174969 0.9078453
## S g1 a29 t30             30        30 0.9581542 0.0195412 0.8980516
## S g1 a30 t31             31        31 0.9555844 0.0219351 0.8865300
## S g1 a31 t32             32        32 0.9528645 0.0246908 0.8731342
## S g1 a32 t33             33        33 0.9499868 0.0278211 0.8577175
## S g1 a33 t34             34        34 0.9469432 0.0313400 0.8401384
## S g1 a34 t35             35        35 0.9437253 0.0352632 0.8202682
## S g1 a35 t36             36        36 0.9403246 0.0396080 0.7980009
## S g1 a36 t37             37        37 0.9367321 0.0443937 0.7732654
## S g1 a37 t38             38        38 0.9329388 0.0496408 0.7460378
## S g1 a38 t39             39        39 0.9289353 0.0553713 0.7163544
##                    ucl fixed    note group age time Age Time
## S g1 a0 t1   0.9994816                   1   0    1   0    0
## S g1 a1 t2   0.9993915                   1   1    2   1    1
## S g1 a2 t3   0.9992862                   1   2    3   2    2
## S g1 a3 t4   0.9991630                   1   3    4   3    3
## S g1 a4 t5   0.9990191                   1   4    5   4    4
## S g1 a5 t6   0.9988512                   1   5    6   5    5
## S g1 a6 t7   0.9986556                   1   6    7   6    6
## S g1 a7 t8   0.9984280                   1   7    8   7    7
## S g1 a8 t9   0.9981638                   1   8    9   8    8
## S g1 a9 t10  0.9978576                   1   9   10   9    9
## S g1 a10 t11 0.9975036                   1  10   11  10   10
## S g1 a11 t12 0.9970958                   1  11   12  11   11
## S g1 a12 t13 0.9966275                   1  12   13  12   12
## S g1 a13 t14 0.9960922                   1  13   14  13   13
## S g1 a14 t15 0.9954837                   1  14   15  14   14
## S g1 a15 t16 0.9947966                   1  15   16  15   15
## S g1 a16 t17 0.9940273                   1  16   17  16   16
## S g1 a17 t18 0.9931748                   1  17   18  17   17
## S g1 a18 t19 0.9922427                   1  18   19  18   18
## S g1 a19 t20 0.9912401                   1  19   20  19   19
## S g1 a20 t21 0.9901840                   1  20   21  20   20
## S g1 a21 t22 0.9890999                   1  21   22  21   21
## S g1 a22 t23 0.9880216                   1  22   23  22   22
## S g1 a23 t24 0.9869892                   1  23   24  23   23
## S g1 a24 t25 0.9860437                   1  24   25  24   24
## S g1 a25 t26 0.9852215                   1  25   26  25   25
## S g1 a26 t27 0.9845480                   1  26   27  26   26
## S g1 a27 t28 0.9840351                   1  27   28  27   27
## S g1 a28 t29 0.9836815                   1  28   29  28   28
## S g1 a29 t30 0.9834759                   1  29   30  29   29
## S g1 a30 t31 0.9834012                   1  30   31  30   30
## S g1 a31 t32 0.9834378                   1  31   32  31   31
## S g1 a32 t33 0.9835665                   1  32   33  32   32
## S g1 a33 t34 0.9837694                   1  33   34  33   33
## S g1 a34 t35 0.9840311                   1  34   35  34   34
## S g1 a35 t36 0.9843385                   1  35   36  35   35
## S g1 a36 t37 0.9846806                   1  36   37  36   36
## S g1 a37 t38 0.9850485                   1  37   38  37   37
## S g1 a38 t39 0.9854348                   1  38   39  38   38
get.real(model.set[[3]], "S", se=TRUE)
##              all.diff.index par.index  estimate        se       lcl
## S g1 a0 t1                1         1 0.9192284 0.1102151 0.3828261
## S g1 a1 t2                2         2 0.9352522 0.0815663 0.5075650
## S g1 a2 t3                3         3 0.9475521 0.0606762 0.6227081
## S g1 a3 t4                4         4 0.9570223 0.0455284 0.7178004
## S g1 a4 t5                5         5 0.9643453 0.0345784 0.7902535
## S g1 a5 t6                6         6 0.9700358 0.0266789 0.8426819
## S g1 a6 t7                7         7 0.9744798 0.0209919 0.8795312
## S g1 a7 t8                8         8 0.9779657 0.0169097 0.9050662
## S g1 a8 t9                9         9 0.9807093 0.0139921 0.9226596
## S g1 a9 t10              10        10 0.9828721 0.0119187 0.9347530
## S g1 a10 t11             11        11 0.9845751 0.0104560 0.9430419
## S g1 a11 t12             12        12 0.9859089 0.0094339 0.9486830
## S g1 a12 t13             13        13 0.9869413 0.0087303 0.9524598
## S g1 a13 t14             14        14 0.9877225 0.0082589 0.9549026
## S g1 a14 t15             15        15 0.9882890 0.0079603 0.9563700
## S g1 a15 t16             16        16 0.9886665 0.0077946 0.9571045
## S g1 a16 t17             17        17 0.9888719 0.0077362 0.9572696
## S g1 a17 t18             18        18 0.9889139 0.0077690 0.9569744
## S g1 a18 t19             19        19 0.9887946 0.0078838 0.9562890
## S g1 a19 t20             20        20 0.9885086 0.0080767 0.9552551
## S g1 a20 t21             21        21 0.9880434 0.0083473 0.9538910
## S g1 a21 t22             22        22 0.9873782 0.0086984 0.9521941
## S g1 a22 t23             23        23 0.9864824 0.0091355 0.9501402
## S g1 a23 t24             24        24 0.9853133 0.0096674 0.9476797
## S g1 a24 t25             25        25 0.9838129 0.0103073 0.9447285
## S g1 a25 t26             26        26 0.9819032 0.0110748 0.9411536
## S g1 a26 t27             27        27 0.9794804 0.0120013 0.9367474
## S g1 a27 t28             28        28 0.9764054 0.0131391 0.9311841
## S g1 a28 t29             29        29 0.9724929 0.0145787 0.9239480
## S g1 a29 t30             30        30 0.9674950 0.0164795 0.9142168
## S g1 a30 t31             31        31 0.9610801 0.0191170 0.9006827
## S g1 a31 t32             32        32 0.9528053 0.0229478 0.8813107
## S g1 a32 t33             33        33 0.9420809 0.0286777 0.8530743
## S g1 a33 t34             34        34 0.9281289 0.0373170 0.8118107
## S g1 a34 t35             35        35 0.9099389 0.0502081 0.7525133
## S g1 a35 t36             36        36 0.8862323 0.0690157 0.6706610
## S g1 a36 t37             37        37 0.8554610 0.0956219 0.5652110
## S g1 a37 t38             38        38 0.8158832 0.1317955 0.4425227
## S g1 a38 t39             39        39 0.7657827 0.1784566 0.3174569
##                    ucl fixed    note group age time Age Time
## S g1 a0 t1   0.9952336                   1   0    1   0    0
## S g1 a1 t2   0.9950842                   1   1    2   1    1
## S g1 a2 t3   0.9949689                   1   2    3   2    2
## S g1 a3 t4   0.9948965                   1   3    4   3    3
## S g1 a4 t5   0.9948760                   1   4    5   4    4
## S g1 a5 t6   0.9949149                   1   5    6   5    5
## S g1 a6 t7   0.9950177                   1   6    7   6    6
## S g1 a7 t8   0.9951837                   1   7    8   7    7
## S g1 a8 t9   0.9954054                   1   8    9   8    8
## S g1 a9 t10  0.9956682                   1   9   10   9    9
## S g1 a10 t11 0.9959527                   1  10   11  10   10
## S g1 a11 t12 0.9962378                   1  11   12  11   11
## S g1 a12 t13 0.9965047                   1  12   13  12   12
## S g1 a13 t14 0.9967391                   1  13   14  13   13
## S g1 a14 t15 0.9969315                   1  14   15  14   14
## S g1 a15 t16 0.9970765                   1  15   16  15   15
## S g1 a16 t17 0.9971710                   1  16   17  16   16
## S g1 a17 t18 0.9972126                   1  17   18  17   17
## S g1 a18 t19 0.9971983                   1  18   19  18   18
## S g1 a19 t20 0.9971232                   1  19   20  19   19
## S g1 a20 t21 0.9969796                   1  20   21  20   20
## S g1 a21 t22 0.9967558                   1  21   22  21   21
## S g1 a22 t23 0.9964346                   1  22   23  22   22
## S g1 a23 t24 0.9959918                   1  23   24  23   23
## S g1 a24 t25 0.9953941                   1  24   25  24   24
## S g1 a25 t26 0.9945968                   1  25   26  25   25
## S g1 a26 t27 0.9935423                   1  26   27  26   26
## S g1 a27 t28 0.9921604                   1  27   28  27   27
## S g1 a28 t29 0.9903739                   1  28   29  28   28
## S g1 a29 t30 0.9881134                   1  29   30  29   29
## S g1 a30 t31 0.9853459                   1  30   31  30   30
## S g1 a31 t32 0.9821082                   1  31   32  31   31
## S g1 a32 t33 0.9785252                   1  32   33  32   32
## S g1 a33 t34 0.9747849                   1  33   34  33   33
## S g1 a34 t35 0.9710755                   1  34   35  34   34
## S g1 a35 t36 0.9675311                   1  35   36  35   35
## S g1 a36 t37 0.9642170                   1  36   37  36   36
## S g1 a37 t38 0.9611466                   1  37   38  37   37
## S g1 a38 t39 0.9583049                   1  38   39  38   38
S.ma <- RMark::model.average(model.set, param="S")
S.ma
##              par.index  estimate         se fixed    note group age time
## S g1 a0 t1           1 0.9565048 0.07681821                   1   0    1
## S g1 a1 t2           2 0.9627822 0.05732738                   1   1    2
## S g1 a2 t3           3 0.9675655 0.04313985                   1   2    3
## S g1 a3 t4           4 0.9712112 0.03293324                   1   3    4
## S g1 a4 t5           5 0.9739912 0.02569978                   1   4    5
## S g1 a5 t6           6 0.9761105 0.02068439                   1   5    6
## S g1 a6 t7           7 0.9777225 0.01731392                   1   6    7
## S g1 a7 t8           8 0.9789420 0.01513857                   1   7    8
## S g1 a8 t9           9 0.9798542 0.01379832                   1   8    9
## S g1 a9 t10         10 0.9805232 0.01301229                   1   9   10
## S g1 a10 t11        11 0.9809964 0.01257501                   1  10   11
## S g1 a11 t12        12 0.9813093 0.01234702                   1  11   12
## S g1 a12 t13        13 0.9814882 0.01223956                   1  12   13
## S g1 a13 t14        14 0.9815523 0.01219879                   1  13   14
## S g1 a14 t15        15 0.9815153 0.01219339                   1  14   15
## S g1 a15 t16        16 0.9813865 0.01220597                   1  15   16
## S g1 a16 t17        17 0.9811717 0.01222771                   1  16   17
## S g1 a17 t18        18 0.9808733 0.01225520                   1  17   18
## S g1 a18 t19        19 0.9804911 0.01228859                   1  18   19
## S g1 a19 t20        20 0.9800219 0.01233069                   1  19   20
## S g1 a20 t21        21 0.9794594 0.01238654                   1  20   21
## S g1 a21 t22        22 0.9787940 0.01246350                   1  21   22
## S g1 a22 t23        23 0.9780123 0.01257164                   1  22   23
## S g1 a23 t24        24 0.9770957 0.01272481                   1  23   24
## S g1 a24 t25        25 0.9760197 0.01294244                   1  24   25
## S g1 a25 t26        26 0.9747517 0.01325286                   1  25   26
## S g1 a26 t27        27 0.9732484 0.01369915                   1  26   27
## S g1 a27 t28        28 0.9714529 0.01434895                   1  27   28
## S g1 a28 t29        29 0.9692893 0.01531045                   1  28   29
## S g1 a29 t30        30 0.9666569 0.01675582                   1  29   30
## S g1 a30 t31        31 0.9634215 0.01895197                   1  30   31
## S g1 a31 t32        32 0.9594041 0.02229424                   1  31   32
## S g1 a32 t33        33 0.9543674 0.02733818                   1  32   33
## S g1 a33 t34        34 0.9479987 0.03482923                   1  33   34
## S g1 a34 t35        35 0.9398924 0.04573329                   1  34   35
## S g1 a35 t36        36 0.9295359 0.06125596                   1  35   36
## S g1 a36 t37        37 0.9163089 0.08280358                   1  36   37
## S g1 a37 t38        38 0.8995135 0.11179910                   1  37   38
## S g1 a38 t39        39 0.8784623 0.14924532                   1  38   39
##              Age Time
## S g1 a0 t1     0    0
## S g1 a1 t2     1    1
## S g1 a2 t3     2    2
## S g1 a3 t4     3    3
## S g1 a4 t5     4    4
## S g1 a5 t6     5    5
## S g1 a6 t7     6    6
## S g1 a7 t8     7    7
## S g1 a8 t9     8    8
## S g1 a9 t10    9    9
## S g1 a10 t11  10   10
## S g1 a11 t12  11   11
## S g1 a12 t13  12   12
## S g1 a13 t14  13   13
## S g1 a14 t15  14   14
## S g1 a15 t16  15   15
## S g1 a16 t17  16   16
## S g1 a17 t18  17   17
## S g1 a18 t19  18   18
## S g1 a19 t20  19   19
## S g1 a20 t21  20   20
## S g1 a21 t22  21   21
## S g1 a22 t23  22   22
## S g1 a23 t24  23   23
## S g1 a24 t25  24   24
## S g1 a25 t26  25   25
## S g1 a26 t27  26   26
## S g1 a27 t28  27   27
## S g1 a28 t29  28   28
## S g1 a29 t30  29   29
## S g1 a30 t31  30   30
## S g1 a31 t32  31   31
## S g1 a32 t33  32   32
## S g1 a33 t34  33   33
## S g1 a34 t35  34   34
## S g1 a35 t36  35   35
## S g1 a36 t37  36   36
## S g1 a37 t38  37   37
## S g1 a38 t39  38   38
# plot the estimates from the model plus the model averaging
length(model.set)
## [1] 4
plotdata.indiv <- plyr::ldply(model.set[-length(model.set)], function(x){
   est <- get.real(x, "S", se=TRUE)
   est$Model <- x$model.name
   est
})

plotdata.ma  <- S.ma
plotdata.ma$Model <- "Model avg"


# model average the predicted nest suvival probability
final.fit <- ggplot(data=plotdata.indiv, aes(x=time, y=estimate, color=Model))+
  ggtitle("Comparing the model fits")+
  geom_line(aes(group=Model))+
  geom_line(data=plotdata.ma, color='black', size=2, group=1)+
  theme(legend.justification=c(0,0), legend.position=c(0,0))
final.fit

ggsave(final.fit,
       file=file.path("..","..","..","..","MyStuff","Images","killdeer-modavg.png"),h=4, w=6, units="in", dpi=300)



# model average the derived parameter of the oveall nest survival
model.fits[[1]]$results$derived$"S Overall Survival"
##    estimate        se       lcl       ucl
## 1 0.3339134 0.1495833 0.1182906 0.6519547
model.fits[[2]]$results$derived$"S Overall Survival"
##    estimate        se       lcl      ucl
## 1 0.3226129 0.1526737 0.1080227 0.651927
model.fits[[3]]$results$derived$"S Overall Survival"
##    estimate        se        lcl      ucl
## 1 0.1684153 0.1505241 0.02404565 0.624727
RMark.model.average.derived(model.set, param="S Overall Survival")
## Loading required package: plyr
## Loading required package: boot
##    estimate        se        lcl       ucl
## 1 0.2648794 0.1701028 0.06105668 0.6662856
# cleanup
cleanup(ask=FALSE)