Multivariable Logistic in R, without the "reference" level in a categorical predictor I am dealing with the following problem: 
I have to do a multivariable logistic in R, using the command glm with the  argument family = binomial.
The dependent variable is (obv) a binary variable (worker) with a Yes/No outcome and the predictors are gender, student and type of event. gender and student are binary variables, while type of event is categorical with 5 possible outcomes.
When applying the logistic, in the outcome are shown only 4 levels of the variable type of event, using the other remaining level of that variable as a "reference" one. What I would like to have in the outcome is to maintain 1 level for the two binary variables (in my case genderMALE and studentYES), and to have the 5 levels for the categorical variable type of event, but I don't know how to do it.
I was wondering if there were any arguments of this function that could solve this.
I thought of using something as model.matrix but I am not sure this is the best solution.
 A: To make Adria's comment crystal clear: R uses a so called ANOVA (sum) contrast when there's a polytomous factor variable with multiple levels in a linear model and the intercept is suppressed. This does NOT amount to removing the intercept, it just reframes the estimation of the model's effects. Again this is only in the case of factor variable adjustments. Here's a workable example
n<-1000
set.seed(123)
y <- rbinom(n, 1, 0.5)
x <- factor(sample(1:5, n, replace=T))
w <- rbinom(n, 1, 0.5)
f1<-glm(y ~ x + w, family=binomial)
f2<-glm(y ~ 0 + x + w, family=binomial)

provides the following outputs:
Default: treatment contrasts
> f1

Call:  glm(formula = y ~ x + w, family = binomial)

Coefficients:
(Intercept)           x2           x3           x4           x5            w  
   -0.17073      0.42541      0.28683      0.19687      0.06605     -0.10189  

Degrees of Freedom: 999 Total (i.e. Null);  994 Residual
Null Deviance:      1386 
Residual Deviance: 1380     AIC: 1392

Alternative: sum contrasts
> f2 

Call:  glm(formula = y ~ 0 + x + w, family = binomial)

Coefficients:
      x1        x2        x3        x4        x5         w  
-0.17073   0.25468   0.11610   0.02614  -0.10468  -0.10189  

Degrees of Freedom: 1000 Total (i.e. Null);  994 Residual
Null Deviance:      1386 
Residual Deviance: 1380     AIC: 1392

Note, the degrees of freedom of the model are conserved, and the predictions are equal:
> all.equal(predict(f1), predict(f2))
[1] TRUE

the x1=(Intercept) from the two approaches, and the x2 coefficient in the ANOVA contrast is equal to the x2 from the treatment contrast model plus the intercept. Similarly for all other levels of X. In other words, specifying 0+ only drops the intercept by name only. Literally!
A: This is better solved at the summary stage. There is really a hidden coefficient for the omitted level, but as it is fixed by zero, the usual summaries ignores it. There is a special R package that does include those, gtsummary.
For details and examples see What to do in a multinomial logistic regression when all levels of DV are of interest?
