An implementation of the ternary plot for interpreting regression
coefficients of trinomial regression models, as proposed in Santi, Dickson
and Espa (2019)
The package permits the covariate effects of trinomial regression models to be represented graphically by means of a ternary plot. The aim of the plots is helping the interpretation of regression coefficients in terms of the effects that a change in regressors’ values has on the probability distribution of the dependent variable. Such changes may involve either a single regressor, or a group of them (composite changes), and the package permits both cases to be handled in a user-friendly way. Theoretical and methodological details are illustrated and discussed in Santi, Dickson and Espa (2018).
The package can read the results of both categorical and ordinal
trinomial logit regression fitted by various functions (see the next
section) and creates a
field3logit object which may be represented by
means of functions
plot3logit package inherits graphical classes and methods from the
ggtern (Hamilton 2018) which, in turn, is based on the package
ggplot2 (Wickham 2016).
Graphical representation based on standard graphics is made
available through the package
Ternary (Smith 2017) by functions
TernaryField, and by the
plot method of
See the help of
field3logit for representing composite effects and
multifield3logit for drawing multiple fields.
field3logit of package
plot3logit can read trinomial
regression estimates from the output of the following functions:
MASS(ordinal logit regression);
Moreover, explicit matrix of regression coefficients can be passed to
field3logit. See the help of the package (type
? 'plot3logit-package') for furhter details.
Fit a trilogit model by means of package
nnet where the student’s
employment situation is analysed with respect to all variables in the
data(cross_1year)library(nnet)mod0 <- multinom(employment_sit ~ ., data = cross_1year)
The gender effect is analysed by means of a ternary plot which is
generated in two steps, however, package
plot3logit should be loaded:
Firstly, the vector field is computed:
field0 <- field3logit(mod0, 'genderFemale')
Secondly, the field is represented on a ternary plot, using either
gg3logit(field0) + stat_3logit()
or standard graphics:
Hamilton N. E., M. Ferry (2018) “ggtern: Ternary Diagrams Using ggplot2”, Journal of Statistical Software, Code Snippets, 87(3), 1-17. https://doi.org/10.18637/jss.v087.c03
Santi F., M. M. Dickson, G. Espa (2018) “A graphical tool for interpreting regression coefficients of trinomial logit models”, The American Statistician. https://doi.org/10.1080/00031305.2018.1442368
Smith M. R. (2017). “Ternary: An R Package for Creating Ternary Plots”, Zenodo. https://doi.org/10.5281/zenodo.1068996
Wickham, H. (2016) ggplot2: Elegant Graphics for Data Analysis. Springer-Verlag, New York.
as.data.frame.field3logitwhen a zero-coefficient model is passed to field3logit. The previous version was not able to return a data.frame correctly built. Functions
TernaryFieldhave been adapted so as to draw points instead of arrows.
fortify methods has been redefined by including argument
data, so that now all
fortify methods of the package are compliant with
the interface of the generic.
field3logit now can read categories labels of the dependent variable from
labs when argument
model is a
matrix. Example in the help of
package presentation has been updated.
CITATION file has been amended: the title of the package and other typos
have been corrected.
Revision of the file
First release of the package
plot3logit on CRAN!