gustavobrp
gustavobrp

Reputation: 53

Problem using ggeffects for mclogit package

Currently trying to use ggeffects for a mmblogit object from the mclogit package, but the following messages are being shown:

> ggeffects::ggeffect(model.example)
Can't compute marginal effects, 'effects::Effect()' returned an error.

Reason: 'arg' should be one of “PQL”, “MQL”
You may try 'ggpredict()' or 'ggemmeans()'.

Can't compute marginal effects, 'effects::Effect()' returned an error.

Reason: 'arg' should be one of “PQL”, “MQL”
You may try 'ggpredict()' or 'ggemmeans()'.

NULL
> ggeffects::ggpredict(model.example)
Error in `contrasts<-`(`*tmp*`, value = contr.funs[1 + isOF[nn]]) : 
  contrasts can be applied only to factors with 2 or more levels
> ggeffects::ggemmeans(model.example)
Error: `terms` needs to be a character vector with at least one predictor name: one term used for the
  x-axis, more optional terms as grouping factors.

Here is a reprex from the database and the model. I'm using the uptaded versions of both packages. Note: the model converge in the complete dataset and model, and this happens using PQL or MQL method.

library(tidyverse)
#> Warning: package 'tidyverse' was built under R version 4.1.3
#> Warning: package 'ggplot2' was built under R version 4.1.3
#> Warning: package 'tibble' was built under R version 4.1.3
#> Warning: package 'tidyr' was built under R version 4.1.3
#> Warning: package 'readr' was built under R version 4.1.3
#> Warning: package 'purrr' was built under R version 4.1.3
#> Warning: package 'dplyr' was built under R version 4.1.3
#> Warning: package 'stringr' was built under R version 4.1.3
#> Warning: package 'forcats' was built under R version 4.1.3
#> Warning: package 'lubridate' was built under R version 4.1.3
library(mclogit)
#> Loading required package: Matrix
#> Warning: package 'Matrix' was built under R version 4.1.3
#> 
#> Attaching package: 'Matrix'
#> The following objects are masked from 'package:tidyr':
#> 
#>     expand, pack, unpack
library(ggeffects)

db.example <- structure(list(dep_resultado_academico = structure(c(3L, 2L, 
                                                                   1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 1L, 1L, 2L, 3L, 1L, 1L, 
                                                                   3L, 2L, 2L, 2L, 2L, 3L, 2L, 2L, 2L, 3L, 3L, 2L, 2L, 2L, 1L, 2L, 
                                                                   3L, 2L, 2L, 2L, 3L, 1L), .Label = c("Cursando", "Graduado", "Evasão"
                                                                   ), class = "factor"), faixa_idade = structure(c(3L, 2L, 2L, 3L, 
                                                                                                                   1L, 2L, 1L, 2L, 2L, 1L, 2L, 2L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
                                                                                                                   2L, 1L, 2L, 2L, 2L, 2L, 2L, 4L, 2L, 2L, 2L, 3L, 2L, 2L, 1L, 3L, 
                                                                                                                   2L, 2L, 1L, 1L), .Label = c("Até 18 anos", "Entre 19 e 24 anos", 
                                                                                                                                               "Entre 25 e 29 anos", "30 anos ou mais"), class = "factor"), 
                             SEXO = structure(c(1L, 1L, 1L, 2L, 2L, 2L, 1L, 1L, 2L, 2L, 
                                                1L, 1L, 2L, 1L, 1L, 1L, 1L, 2L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 
                                                1L, 1L, 2L, 2L, 1L, 1L, 1L, 2L, 1L, 2L, 2L, 2L, 2L, 2L, 2L
                             ), .Label = c("Masculino", "Feminino"), class = "factor"), 
                             CURSO_ATUAL = structure(c(1L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 
                                                       2L, 1L, 1L, 1L, 1L, 2L, 3L, 3L, 2L, 4L, 5L, 5L, 5L, 5L, 6L, 
                                                       6L, 6L, 7L, 8L, 4L, 9L, 5L, 5L, 5L, 1L, 1L, 1L, 10L, 10L, 
                                                       9L, 9L, 9L), .Label = c("Letras", "Medicina", "Engenharia Química", 
                                                                               "Pedagogia", "Direito", "Enfermagem", "Engenharia Civil", 
                                                                               "Engenharia Mecânica", "Psicologia", "Geografia", "Odontologia", 
                                                                               "Educação Física", "Administração", "Engenharia Elétrica", 
                                                                               "Geologia", "Ciências Biológicas", "Comunicação Social", 
                                                                               "Arquitetura e Urbanismo", "Engenharia de Produção", "Artes Visuais", 
                                                                               "Biblioteconomia", "História", "Farmácia", "Filosofia", "Medicina Veterinária", 
                                                                               "Matemática", "Ciências Contábeis", "Engenharia de Minas", 
                                                                               "Química", "Física", "Ciências Sociais", "Engenharia de Controle e Automação", 
                                                                               "Ciências Econômicas", "Engenharia Metalúrgica", "Fisioterapia", 
                                                                               "Terapia Ocupacional", "Fonoaudiologia", "Turismo", "Nutrição", 
                                                                               "Ciência da Computação", "Ciências Atuariais", "Estatística", 
                                                                               "Sistemas de Informação"), class = "factor")), row.names = c(NA, 
                                                                                                                                            -40L), class = c("tbl_df", "tbl", "data.frame"))

model.example <- mblogit(dep_resultado_academico ~ faixa_idade + SEXO, 
                 data = db.example,
                 random = c(~1|CURSO_ATUAL),
                 method = "MQL",
                 estimator = "REML",
                 maxit = 60)
#> 
#> Iteration 1 - deviance = 106.9198 - criterion = 1.029838
#> Iteration 2 - deviance = 117.4668 - criterion = 0.1434256
#> Iteration 3 - deviance = 120.2036 - criterion = 0.08122211
#> Iteration 4 - deviance = 119.9487 - criterion = 0.05115243
#> Iteration 5 - deviance = 122.9978 - criterion = 0.04380277
#> Iteration 6 - deviance = 120.1087 - criterion = 0.02562604
#> Iteration 7 - deviance = 122.7511 - criterion = 0.02329051
#> Iteration 8 - deviance = 120.0579 - criterion = 0.01496665
#> Iteration 9 - deviance = 122.5763 - criterion = 0.01425761
#> Iteration 10 - deviance = 120.0299 - criterion = 0.009791495
#> Iteration 11 - deviance = 122.4501 - criterion = 0.009594708
#> Iteration 12 - deviance = 120.0111 - criterion = 0.006903091
#> Iteration 13 - deviance = 122.4977 - criterion = 0.007190019
#> Iteration 14 - deviance = 120.0471 - criterion = 0.005561767
#> Iteration 15 - deviance = 120.4887 - criterion = 0.001793266
#> Iteration 16 - deviance = 122.1066 - criterion = 0.002193508
#> Iteration 17 - deviance = 121.6214 - criterion = 0.001708503
#> Iteration 18 - deviance = 122.5464 - criterion = 0.001892841
#> Iteration 19 - deviance = 121.7983 - criterion = 0.001469536
#> Iteration 20 - deviance = 122.5543 - criterion = 0.001601244
#> Iteration 21 - deviance = 121.8318 - criterion = 0.001260772
#> Iteration 22 - deviance = 122.4877 - criterion = 0.001360969
#> Iteration 23 - deviance = 121.8393 - criterion = 0.001090899
#> Iteration 24 - deviance = 122.4094 - criterion = 0.001167889
#> Iteration 25 - deviance = 121.8409 - criterion = 0.0009530937
#> Iteration 26 - deviance = 122.3316 - criterion = 0.001012007
#> Iteration 27 - deviance = 121.8404 - criterion = 0.0008401434
#> Iteration 28 - deviance = 122.2572 - criterion = 0.0008848793
#> Iteration 29 - deviance = 121.8386 - criterion = 0.0007464968
#> Iteration 30 - deviance = 122.187 - criterion = 0.000780115
#> Iteration 31 - deviance = 121.8359 - criterion = 0.0006680006
#> Iteration 32 - deviance = 122.1216 - criterion = 0.0006929306
#> Iteration 33 - deviance = 121.8326 - criterion = 0.0006015421
#> Iteration 34 - deviance = 122.0614 - criterion = 0.0006197156
#> Iteration 35 - deviance = 121.8287 - criterion = 0.0005447618
#> Iteration 36 - deviance = 122.0065 - criterion = 0.0005577124
#> Iteration 37 - deviance = 121.8246 - criterion = 0.0004958485
#> Iteration 38 - deviance = 121.9935 - criterion = 0.0005070107
#> Iteration 39 - deviance = 121.8373 - criterion = 0.0004543268
#> Iteration 40 - deviance = 121.9966 - criterion = 0.0004638443
#> Iteration 41 - deviance = 121.8552 - criterion = 0.0004182164
#> Iteration 42 - deviance = 122.0001 - criterion = 0.0004260434
#> Iteration 43 - deviance = 121.8722 - criterion = 0.0003863024
#> Iteration 44 - deviance = 122.0034 - criterion = 0.0003927238
#> Iteration 45 - deviance = 121.8882 - criterion = 0.0003579502
#> Iteration 46 - deviance = 122.0066 - criterion = 0.0003632011
#> Iteration 47 - deviance = 121.9034 - criterion = 0.0003326424
#> Iteration 48 - deviance = 122.0097 - criterion = 0.0003369169
#> Iteration 49 - deviance = 121.9179 - criterion = 0.0003099521
#> Iteration 50 - deviance = 122.0127 - criterion = 0.0003134115
#> Iteration 51 - deviance = 121.9316 - criterion = 0.000289525
#> Iteration 52 - deviance = 122.0156 - criterion = 0.0002923043
#> Iteration 53 - deviance = 121.9446 - criterion = 0.0002710655
#> Iteration 54 - deviance = 122.0183 - criterion = 0.0002732776
#> Iteration 55 - deviance = 121.9569 - criterion = 0.0002543249
#> Iteration 56 - deviance = 122.0209 - criterion = 0.000256065
#> Iteration 57 - deviance = 121.9685 - criterion = 0.0002390931
#> Iteration 58 - deviance = 122.0234 - criterion = 0.0002404415
#> Iteration 59 - deviance = 121.9794 - criterion = 0.0002251913
#> Iteration 60 - deviance = 122.0257 - criterion = 0.0002262159
#> Warning: Algorithm did not converge
#> Warning: Fitted probabilities numerically 0 occurred


ggeffects::ggeffect(model.example)
#> Can't compute marginal effects, 'effects::Effect()' returned an error.
#> 
#> Reason: 'arg' should be one of "PQL", "MQL"
#> You may try 'ggpredict()' or 'ggemmeans()'.
#> 
#> Can't compute marginal effects, 'effects::Effect()' returned an error.
#> 
#> Reason: 'arg' should be one of "PQL", "MQL"
#> You may try 'ggpredict()' or 'ggemmeans()'.
#> NULL

ggeffects::ggpredict(model.example)
#> Error in `contrasts<-`(`*tmp*`, value = contr.funs[1 + isOF[nn]]): contrasts can be applied only to factors with 2 or more levels

ggeffects::ggemmeans(model.example)
#> Error: `terms` needs to be a character vector with at least one predictor name:
#>   one term used for the x-axis, more optional terms as grouping factors.

Created on 2023-07-27 with reprex v2.0.2

Session info
sessioninfo::session_info()
#> - Session info ---------------------------------------------------------------
#>  setting  value
#>  version  R version 4.1.1 (2021-08-10)
#>  os       Windows 10 x64 (build 22621)
#>  system   x86_64, mingw32
#>  ui       RTerm
#>  language (EN)
#>  collate  Portuguese_Brazil.1252
#>  ctype    Portuguese_Brazil.1252
#>  tz       America/Sao_Paulo
#>  date     2023-07-27
#>  pandoc   2.19.2 @ C:/Program Files/RStudio/resources/app/bin/quarto/bin/tools/ (via rmarkdown)
#> 
#> - Packages -------------------------------------------------------------------
#>  package      * version   date (UTC) lib source
#>  abind          1.4-5     2016-07-21 [1] CRAN (R 4.1.1)
#>  boot           1.3-28    2021-05-03 [2] CRAN (R 4.1.1)
#>  car            3.1-1     2022-10-19 [1] CRAN (R 4.1.1)
#>  carData        3.0-5     2022-01-06 [1] CRAN (R 4.1.3)
#>  cli            3.6.1     2023-03-23 [1] CRAN (R 4.1.3)
#>  coda           0.19-4    2020-09-30 [1] CRAN (R 4.1.1)
#>  codetools      0.2-18    2020-11-04 [2] CRAN (R 4.1.1)
#>  colorspace     2.0-3     2022-02-21 [1] CRAN (R 4.1.3)
#>  data.table     1.14.8    2023-02-17 [1] CRAN (R 4.1.3)
#>  DBI            1.1.3     2022-06-18 [1] CRAN (R 4.1.3)
#>  digest         0.6.29    2021-12-01 [1] CRAN (R 4.1.3)
#>  dplyr        * 1.1.2     2023-04-20 [1] CRAN (R 4.1.3)
#>  effects        4.2-2     2022-07-13 [1] CRAN (R 4.1.3)
#>  ellipsis       0.3.2     2021-04-29 [1] CRAN (R 4.1.0)
#>  emmeans        1.8.1-1   2022-09-08 [1] CRAN (R 4.1.3)
#>  estimability   1.4.1     2022-08-05 [1] CRAN (R 4.1.3)
#>  evaluate       0.17      2022-10-07 [1] CRAN (R 4.1.3)
#>  fansi          1.0.3     2022-03-24 [1] CRAN (R 4.1.3)
#>  fastmap        1.1.0     2021-01-25 [1] CRAN (R 4.1.0)
#>  forcats      * 1.0.0     2023-01-29 [1] CRAN (R 4.1.3)
#>  fs             1.5.2     2021-12-08 [1] CRAN (R 4.1.3)
#>  generics       0.1.3     2022-07-05 [1] CRAN (R 4.1.3)
#>  ggeffects    * 1.2.3     2023-06-11 [1] CRAN (R 4.1.1)
#>  ggplot2      * 3.4.2     2023-04-03 [1] CRAN (R 4.1.3)
#>  glue           1.6.2     2022-02-24 [1] CRAN (R 4.1.3)
#>  gtable         0.3.1     2022-09-01 [1] CRAN (R 4.1.3)
#>  highr          0.9       2021-04-16 [1] CRAN (R 4.1.0)
#>  hms            1.1.2     2022-08-19 [1] CRAN (R 4.1.3)
#>  htmltools      0.5.3     2022-07-18 [1] CRAN (R 4.1.3)
#>  insight        0.19.3    2023-06-29 [1] CRAN (R 4.1.1)
#>  jsonlite       1.8.4     2022-12-06 [1] CRAN (R 4.1.3)
#>  knitr          1.40      2022-08-24 [1] CRAN (R 4.1.3)
#>  lattice        0.20-44   2021-05-02 [2] CRAN (R 4.1.1)
#>  lifecycle      1.0.3     2022-10-07 [1] CRAN (R 4.1.3)
#>  lme4           1.1-30    2022-07-08 [1] CRAN (R 4.1.3)
#>  lubridate    * 1.9.2     2023-02-10 [1] CRAN (R 4.1.3)
#>  magrittr       2.0.3     2022-03-30 [1] CRAN (R 4.1.3)
#>  MASS           7.3-54    2021-05-03 [2] CRAN (R 4.1.1)
#>  Matrix       * 1.5-1     2022-09-13 [1] CRAN (R 4.1.3)
#>  mclogit      * 0.9.4.2   2023-07-26 [1] local
#>  memisc         0.99.31.6 2023-03-10 [1] CRAN (R 4.1.3)
#>  minqa          1.2.4     2014-10-09 [1] CRAN (R 4.1.3)
#>  mitools        2.4       2019-04-26 [1] CRAN (R 4.1.2)
#>  multcomp       1.4-22    2023-02-10 [1] CRAN (R 4.1.3)
#>  munsell        0.5.0     2018-06-12 [1] CRAN (R 4.1.0)
#>  mvtnorm        1.1-3     2021-10-08 [1] CRAN (R 4.1.1)
#>  nlme           3.1-152   2021-02-04 [2] CRAN (R 4.1.1)
#>  nloptr         2.0.3     2022-05-26 [1] CRAN (R 4.1.3)
#>  nnet           7.3-18    2022-09-28 [1] CRAN (R 4.1.3)
#>  pillar         1.9.0     2023-03-22 [1] CRAN (R 4.1.3)
#>  pkgconfig      2.0.3     2019-09-22 [1] CRAN (R 4.1.0)
#>  purrr        * 1.0.1     2023-01-10 [1] CRAN (R 4.1.3)
#>  R.cache        0.16.0    2022-07-21 [1] CRAN (R 4.1.3)
#>  R.methodsS3    1.8.2     2022-06-13 [1] CRAN (R 4.1.3)
#>  R.oo           1.25.0    2022-06-12 [1] CRAN (R 4.1.3)
#>  R.utils        2.12.2    2022-11-11 [1] CRAN (R 4.1.3)
#>  R6             2.5.1     2021-08-19 [1] CRAN (R 4.1.1)
#>  Rcpp           1.0.9     2022-07-08 [1] CRAN (R 4.1.3)
#>  readr        * 2.1.4     2023-02-10 [1] CRAN (R 4.1.3)
#>  reprex         2.0.2     2022-08-17 [1] CRAN (R 4.1.3)
#>  rlang          1.1.0     2023-03-14 [1] CRAN (R 4.1.3)
#>  rmarkdown      2.17      2022-10-07 [1] CRAN (R 4.1.3)
#>  rstudioapi     0.14      2022-08-22 [1] CRAN (R 4.1.3)
#>  sandwich       3.0-2     2022-06-15 [1] CRAN (R 4.1.3)
#>  scales         1.2.1     2022-08-20 [1] CRAN (R 4.1.3)
#>  sessioninfo    1.2.2     2021-12-06 [1] CRAN (R 4.1.3)
#>  stringi        1.7.6     2021-11-29 [1] CRAN (R 4.1.2)
#>  stringr      * 1.5.0     2022-12-02 [1] CRAN (R 4.1.3)
#>  styler         1.10.1    2023-06-05 [1] CRAN (R 4.1.1)
#>  survey         4.1-1     2021-07-19 [1] CRAN (R 4.1.3)
#>  survival       3.4-0     2022-08-09 [1] CRAN (R 4.1.3)
#>  TH.data        1.1-1     2022-04-26 [1] CRAN (R 4.1.3)
#>  tibble       * 3.2.1     2023-03-20 [1] CRAN (R 4.1.3)
#>  tidyr        * 1.3.0     2023-01-24 [1] CRAN (R 4.1.3)
#>  tidyselect     1.2.0     2022-10-10 [1] CRAN (R 4.1.1)
#>  tidyverse    * 2.0.0     2023-02-22 [1] CRAN (R 4.1.3)
#>  timechange     0.2.0     2023-01-11 [1] CRAN (R 4.1.3)
#>  tzdb           0.3.0     2022-03-28 [1] CRAN (R 4.1.3)
#>  utf8           1.2.2     2021-07-24 [1] CRAN (R 4.1.0)
#>  vctrs          0.6.1     2023-03-22 [1] CRAN (R 4.1.3)
#>  withr          2.5.0     2022-03-03 [1] CRAN (R 4.1.3)
#>  xfun           0.33      2022-09-12 [1] CRAN (R 4.1.3)
#>  xtable         1.8-4     2019-04-21 [1] CRAN (R 4.1.0)
#>  yaml           2.3.7     2023-01-23 [1] CRAN (R 4.1.3)
#>  zoo            1.8-11    2022-09-17 [1] CRAN (R 4.1.3)
#> 
#>  [1] C:/Users/gusta/Documents/R/win-library/4.1
#>  [2] C:/Program Files/R/R-4.1.1/library
#> 
#> ------------------------------------------------------------------------------

Upvotes: 0

Views: 180

Answers (0)

Related Questions