MATLAB: Logistic Regression not display all data like R

logistic regressionrStatistics and Machine Learning Toolbox

Hello ! I'm using version 2016a and trying to code my previous code from R to Matlab. When I do a Logistic Regression on R, it shows me all coeficients for each variable, like this image:
But when I do it from Matlab (same Data Set, same 'formula'), the results are missing:
modelo = 'LSTATUS ~ METODO + URI + URL + USERAGENT + BROWSER + COOKIE';
mdl = fitglm(FiltroA, modelo, 'Distribution','binomial');
mdl
The Data Set (FiltroA) was imported as a Table
Each field in R represent a category. For example, USERAGENT1 = Windows, USERAGENT2= Linux, etc. Someone know how to use a logistic regression on Matlab to show all categories?

Best Answer

Your issue is that in R these variables are interpreted as categorical whereas in MATLAB they are being interpreted as continuous predictor variables. You can either specify them as categorical variables in fitglm:
modelo = 'LSTATUS ~ METODO + URI + URL + USERAGENT + BROWSER + COOKIE';
mdl = fitglm(FiltroA, modelo, 'Distribution','binomial','CategoricalVars',1:6);
or convert each of them to a categorical variable ahead of time.
FiltroA.METODO = categorical(FiltroA.METODO);
% Repeat for other variables
This can all be accomplished with a call to varfun:
Filtro = varfun(@categorical,FiltroA(:,1:end-1)) % Assuming LSTATUS is the last variable in table
Filtro.Properties.VariableNames = FiltroA.Properties.VariableNames(1:end-1);
FiltroA(:,1:end-1) = Filtro;
Related Question