IndrajeetPatil / ggstatsplot

Enhancing {ggplot2} plots with statistical analysis πŸ“ŠπŸ“£
https://indrajeetpatil.github.io/ggstatsplot/
GNU General Public License v3.0
2.03k stars 190 forks source link

ggcoefstats() does not work for glmmTMB models with zi or disp parameters #395

Closed cvanpay closed 4 years ago

cvanpay commented 4 years ago

Briefly describe the problem:

ggcoefstats does not work with glmmTMB models that have zero-inflated or dispersion parameters. The error given is: "Error: All elements in the column term should be unique." This is likely due to the zi terms sharing the same name as the conditional terms.

library(glmmTMB)
library(ggstatsplot)
#> Registered S3 methods overwritten by 'broom.mixed':
#>   method         from 
#>   augment.lme    broom
#>   augment.merMod broom
#>   glance.lme     broom
#>   glance.merMod  broom
#>   glance.stanreg broom
#>   tidy.brmsfit   broom
#>   tidy.gamlss    broom
#>   tidy.lme       broom
#>   tidy.merMod    broom
#>   tidy.rjags     broom
#>   tidy.stanfit   broom
#>   tidy.stanreg   broom
#> Registered S3 methods overwritten by 'car':
#>   method                          from
#>   influence.merMod                lme4
#>   cooks.distance.influence.merMod lme4
#>   dfbeta.influence.merMod         lme4
#>   dfbetas.influence.merMod        lme4
library(reprex)
set.seed(123)

data(Salamanders)

zipm3 = glmmTMB(count~spp * mined + (1|site), 
                zi=~spp * mined, 
                Salamanders, 
                family="poisson")

ggstatsplot::ggcoefstats(
  x = zipm3,
)
#> Error: All elements in the column `term` should be unique.
#> 

zipm3
#> Formula:          count ~ spp * mined + (1 | site)
#> Zero inflation:         ~spp * mined
#> Data: Salamanders
#>       AIC       BIC    logLik  df.resid 
#> 1778.0882 1907.6515 -860.0441       615 
#> Random-effects (co)variances:
#> 
#> Conditional model:
#>  Groups Name        Std.Dev.
#>  site   (Intercept) 0.3212  
#> 
#> Number of obs: 644 / Conditional model: site, 23
#> 
#> Fixed Effects:
#> 
#> Conditional model:
#>      (Intercept)             sppPR             sppDM           sppEC-A  
#>          -0.1045           -0.2224            0.4998           -0.6891  
#>          sppEC-L          sppDES-L             sppDF           minedno  
#>          -1.1199            0.4317            0.2604            1.0403  
#>    sppPR:minedno     sppDM:minedno   sppEC-A:minedno   sppEC-L:minedno  
#>          -0.4251           -0.2920            0.4979            1.8215  
#> sppDES-L:minedno     sppDF:minedno  
#>           0.1681           -0.2614  
#> 
#> Zero-inflation model:
#>      (Intercept)             sppPR             sppDM           sppEC-A  
#>            3.223            -1.344            -2.219            -1.727  
#>          sppEC-L          sppDES-L             sppDF           minedno  
#>           -4.545            -2.585            -2.971            -4.896  
#>    sppPR:minedno     sppDM:minedno   sppEC-A:minedno   sppEC-L:minedno  
#>            3.789             2.601             3.673             5.096  
#> sppDES-L:minedno     sppDF:minedno  
#>            2.826             3.673

Created on 2020-03-11 by the reprex package (v0.3.0)

Session info ``` r devtools::session_info() #> ─ Session info ─────────────────────────────────────────────────────────────── #> setting value #> version R version 3.6.2 (2019-12-12) #> os macOS Sierra 10.12.6 #> system x86_64, darwin15.6.0 #> ui X11 #> language (EN) #> collate en_US.UTF-8 #> ctype en_US.UTF-8 #> tz America/Chicago #> date 2020-03-11 #> #> ─ Packages ─────────────────────────────────────────────────────────────────── #> package * version date lib #> abind 1.4-5 2016-07-21 [1] #> assertthat 0.2.1 2019-03-21 [1] #> backports 1.1.5 2019-10-02 [1] #> base64enc 0.1-3 2015-07-28 [1] #> BayesFactor 0.9.12-4.2 2018-05-19 [1] #> bayestestR 0.5.2 2020-02-12 [1] #> bbmle 1.0.23.1 2020-02-03 [1] #> bdsmatrix 1.3-4 2020-01-13 [1] #> boot 1.3-24 2019-12-20 [1] #> bridgesampling 1.0-0 2020-02-26 [1] #> Brobdingnag 1.2-6 2018-08-13 [1] #> broom 0.5.4 2020-01-27 [1] #> broom.mixed 0.2.4 2019-02-21 [1] #> broomExtra 2.0.0 2020-02-22 [1] #> callr 3.4.2 2020-02-12 [1] #> car 3.0-6 2019-12-23 [1] #> carData 3.0-3 2019-11-16 [1] #> cellranger 1.1.0 2016-07-27 [1] #> cli 2.0.1 2020-01-08 [1] #> cluster 2.1.0 2019-06-19 [2] #> coda 0.19-3 2019-07-05 [1] #> codetools 0.2-16 2018-12-24 [2] #> coin 1.3-1 2019-08-28 [1] #> colorspace 1.4-1 2019-03-18 [1] #> cowplot 1.0.0 2019-07-11 [1] #> crayon 1.3.4 2017-09-16 [1] #> curl 4.3 2019-12-02 [1] #> data.table 1.12.8 2019-12-09 [1] #> desc 1.2.0 2018-05-01 [1] #> DescTools 0.99.32 2020-01-17 [1] #> devtools 2.2.2 2020-02-17 [1] #> dichromat 2.0-0 2013-01-24 [1] #> digest 0.6.25 2020-02-23 [1] #> dplyr 0.8.4 2020-01-31 [1] #> effectsize 0.2.0 2020-02-25 [1] #> ellipsis 0.3.0 2019-09-20 [1] #> emmeans 1.4.4 2020-01-28 [1] #> EMT 1.1 2013-01-29 [1] #> estimability 1.3 2018-02-11 [1] #> evaluate 0.14 2019-05-28 [1] #> expm 0.999-4 2019-03-21 [1] #> ez 4.4-0 2016-11-02 [1] #> fansi 0.4.1 2020-01-08 [1] #> fastGHQuad 1.0 2018-09-30 [1] #> fastmap 1.0.1 2019-10-08 [1] #> forcats 0.4.0 2019-02-17 [1] #> foreign 0.8-72 2019-08-02 [2] #> fs 1.3.1 2019-05-06 [1] #> generics 0.0.2 2018-11-29 [1] #> ggcorrplot 0.1.3 2019-05-19 [1] #> ggExtra 0.9 2019-08-27 [1] #> ggplot2 3.2.1 2019-08-10 [1] #> ggrepel 0.8.1 2019-05-07 [1] #> ggsignif 0.6.0 2019-08-08 [1] #> ggstatsplot * 0.2.0 2020-02-03 [1] #> glmmTMB * 1.0.0 2020-02-19 [1] #> glue 1.3.1 2019-03-12 [1] #> gridExtra 2.3 2017-09-09 [1] #> groupedstats 0.1.1 2020-01-14 [1] #> gtable 0.3.0 2019-03-25 [1] #> gtools 3.8.1 2018-06-26 [1] #> haven 2.2.0 2019-11-08 [1] #> highr 0.8 2019-03-20 [1] #> hms 0.5.3 2020-01-08 [1] #> htmltools 0.4.0 2019-10-04 [1] #> httpuv 1.5.2 2019-09-11 [1] #> inline 0.3.15 2018-05-18 [1] #> insight 0.8.1 2020-02-05 [1] #> ipmisc 1.1.0 2020-02-09 [1] #> jcolors 0.0.4 2019-05-22 [1] #> jmv 1.2.5 2020-02-17 [1] #> jmvcore 1.2.5 2020-02-05 [1] #> jsonlite 1.6.1 2020-02-02 [1] #> knitr 1.28 2020-02-06 [1] #> LaplacesDemon 16.1.4 2020-02-06 [1] #> later 1.0.0 2019-10-04 [1] #> lattice 0.20-38 2018-11-04 [2] #> lazyeval 0.2.2 2019-03-15 [1] #> libcoin 1.0-5 2019-08-27 [1] #> lifecycle 0.1.0 2019-08-01 [1] #> lme4 1.1-21 2019-03-05 [1] #> lmtest 0.9-37 2019-04-30 [1] #> logspline 2.1.15 2019-11-08 [1] #> loo 2.2.0 2019-12-19 [1] #> magrittr 1.5 2014-11-22 [1] #> mapproj 1.2.7 2020-02-03 [1] #> maps 3.3.0 2018-04-03 [1] #> MASS 7.3-51.4 2019-03-31 [2] #> Matrix 1.2-18 2019-11-27 [2] #> MatrixModels 0.4-1 2015-08-22 [1] #> matrixStats 0.55.0 2019-09-07 [1] #> mc2d 0.1-18 2017-03-06 [1] #> memoise 1.1.0 2017-04-21 [1] #> metaBMA 0.6.2 2019-09-16 [1] #> metafor 2.1-0 2019-05-14 [1] #> metaplus 0.7-11 2018-04-01 [1] #> mgcv 1.8-31 2019-11-09 [2] #> mime 0.9 2020-02-04 [1] #> miniUI 0.1.1.1 2018-05-18 [1] #> minqa 1.2.4 2014-10-09 [1] #> mnormt 1.5-6 2020-02-03 [1] #> modelr 0.1.6 2020-02-22 [1] #> modeltools 0.2-22 2018-07-16 [1] #> multcomp 1.4-12 2020-01-10 [1] #> multcompView 0.1-8 2019-12-19 [1] #> munsell 0.5.0 2018-06-12 [1] #> mvtnorm 1.1-0 2020-02-24 [1] #> nlme 3.1-142 2019-11-07 [2] #> nloptr 1.2.1 2018-10-03 [1] #> nortest 1.0-4 2015-07-30 [1] #> numDeriv 2016.8-1.1 2019-06-06 [1] #> oompaBase 3.2.9 2019-08-24 [1] #> openxlsx 4.1.4 2019-12-06 [1] #> pairwiseComparisons 0.2.5 2020-02-11 [1] #> paletteer 1.0.0 2019-12-18 [1] #> palr 0.2.0 2020-01-30 [1] #> pals 1.6 2019-12-04 [1] #> parameters 0.5.0 2020-02-09 [1] #> pbapply 1.4-2 2019-08-31 [1] #> performance 0.4.4 2020-02-10 [1] #> pillar 1.4.3 2019-12-20 [1] #> pkgbuild 1.0.6 2019-10-09 [1] #> pkgconfig 2.0.3 2019-09-22 [1] #> pkgload 1.0.2 2018-10-29 [1] #> plyr 1.8.5 2019-12-10 [1] #> prettyunits 1.1.1 2020-01-24 [1] #> processx 3.4.2 2020-02-09 [1] #> promises 1.1.0 2019-10-04 [1] #> ps 1.3.2 2020-02-13 [1] #> psych 1.9.12.31 2020-01-08 [1] #> purrr 0.3.3 2019-10-18 [1] #> R6 2.4.1 2019-11-12 [1] #> rcompanion 2.3.25 2020-02-09 [1] #> Rcpp 1.0.3 2019-11-08 [1] #> readxl 1.3.1 2019-03-13 [1] #> rematch2 2.1.0 2019-07-11 [1] #> remotes 2.1.1 2020-02-15 [1] #> repr 1.1.0 2020-01-28 [1] #> reprex * 0.3.0 2019-05-16 [1] #> reshape 0.8.8 2018-10-23 [1] #> reshape2 1.4.3 2017-12-11 [1] #> rio 0.5.16 2018-11-26 [1] #> rjson 0.2.20 2018-06-08 [1] #> rlang 0.4.4 2020-01-28 [1] #> rmarkdown 2.1 2020-01-20 [1] #> rprojroot 1.3-2 2018-01-03 [1] #> rstan 2.19.3 2020-02-11 [1] #> rstantools 2.0.0 2019-09-15 [1] #> rstudioapi 0.11 2020-02-07 [1] #> sandwich 2.5-1 2019-04-06 [1] #> scales 1.1.0 2019-11-18 [1] #> scico 1.1.0 2018-11-20 [1] #> sessioninfo 1.1.1 2018-11-05 [1] #> shiny 1.4.0 2019-10-10 [1] #> sjlabelled 1.1.3 2020-01-28 [1] #> sjmisc 2.8.3 2020-01-10 [1] #> sjstats 0.17.9 2020-02-06 [1] #> skimr 2.1 2020-02-01 [1] #> StanHeaders 2.21.0-1 2020-01-19 [1] #> statsExpressions 0.3.1 2020-02-14 [1] #> stringi 1.4.6 2020-02-17 [1] #> stringr 1.4.0 2019-02-10 [1] #> survival 3.1-8 2019-12-03 [1] #> testthat 2.3.1 2019-12-01 [1] #> TH.data 1.0-10 2019-01-21 [1] #> tibble 2.1.3 2019-06-06 [1] #> tidyr 1.0.2 2020-01-24 [1] #> tidyselect 1.0.0 2020-01-27 [1] #> TMB 1.7.16 2020-01-15 [1] #> usethis 1.5.1 2019-07-04 [1] #> vctrs 0.2.3 2020-02-20 [1] #> withr 2.1.2 2018-03-15 [1] #> WRS2 1.0-0 2019-06-06 [1] #> xfun 0.12 2020-01-13 [1] #> xtable 1.8-4 2019-04-21 [1] #> yaml 2.2.1 2020-02-01 [1] #> zeallot 0.1.0 2018-01-28 [1] #> zip 2.0.4 2019-09-01 [1] #> zoo 1.8-7 2020-01-10 [1] #> source #> #> Github (glmmTMB/glmmTMB@77d480f) #> Github (easystats/insight@9969a7a) #> #> [1] /Users/Library/R/3.6/library #> [2] /Library/Frameworks/R.framework/Versions/3.6/Resources/library ```
IndrajeetPatil commented 4 years ago

Should work now.

By the way, you should update your broom to the GitHub development version, which has way more tidiers in it.