[R] Getting McFadden's Pseudo R2 for Mixed Logit models using 'gmnl' package

beti tim.besser at agroscope.admin.ch
Thu Oct 8 08:55:40 CEST 2015


I'd like to run *Mixed Logit (MIXL)* models and *Latent Class (LC)* models to
analyze Discrete Choice data.

Initially, I used the /mlogit /package and function for MIXL where the
/summary()/ also prints out the /McFadden's Pseudo R2/. However, to my
knowledge it is not possible to run an LC model using the /mlogit /package.
Thus, I wanted to use the /gmnl / package which includes both model types. 

Now, the summary of the /gmnl()/ function does not print a Pseudo R2. I can
imagine that this was not included in the summary on purpose as Pseudo R2
measures are often subject to debates, nevertheless, I would like to deduct
it from the model partly to compare results from the /gmnl /with those from
the /mlogit /models.

 1. Is there a function somewhere out there (like /pR2()/ from /pscl/
    or like /PseudoR2()/ from /BaylorEdPsych/ packages) that also works
    for `gmnl` models?
 2. How could you alternatively calculate the Pseudo R2 manually? I know
that it is done by using the 1-(L0/L1), but my problem is that I don't know
how I can update a /mlogit / or /gmnl / formula in the update function in a
way that it gives me the null model. Which random parameter do you feed the
MIXL? So far I tried it by using 

/update(full_model, . ~ 1 | 1, rpar = c("1:(intercept)" = "n",
"2:(intercept)" = "n"))/

and other solutions but nothing worked. I compared my manually calculated
R2s with those of the /mlogit / summary output but could replicate the
results. 

Any suggestions on how a could approach this problem would be helpful. I
have looked everywhere but could not find a comparable discussion on this
topic.





--
View this message in context: http://r.789695.n4.nabble.com/Getting-McFadden-s-Pseudo-R2-for-Mixed-Logit-models-using-gmnl-package-tp4713313.html
Sent from the R help mailing list archive at Nabble.com.



More information about the R-help mailing list