I am currently working on a meta analysis and right now I am trying to do a moderator/moderation analysis but I have come across one problem: When I try to run the function:

MA_SampleType <- rma(yi, vi, mods = ~ SampleType)

I can only see four of my five variables in the Model Results. The same problem occurs for all my other variables and in the regression analysis and the meta- regression as well. Now I have been trying to find a solution and that has been getting rid of the intercept like this:

MA_SampleType <- rma(yi, vi, mods = ~ SampleType -1)

now without the intercept my results (mostly regarding p-value) are very different and I am unsure whether or not I should remove the intercept, which is why I am hoping for your input. Do I need the intercept at all?

For clarification: this is a meta analysis on the effects of psycho-therapeutic interventions on children, so there is no "Null" possibility in my data, all effect sizes are directly linked to an intervention, a therapy setting, etc.

Based on my Google research I have already tried to remove the intercept from the Model Results but I don't know if I should keep the intercept or if it is not a problem to remove it in regards to the validity of my data. Also I have not found a way to include all my variables (in the case of SampleType that would be 5) and the intercept.

With intercept:

Model Results:

                              estimate      se     zval    pval    ci.lb    ci.ub      
intrcpt                         3.2570  0.8764   3.7162  0.0002   1.5392   4.9747  *** 
SampleTypeintervention_group   -1.6782  0.9025  -1.8595  0.0630  -3.4469   0.0906    . 
SampleTypeno_treatment         -2.8170  0.9569  -2.9440  0.0032  -4.6924  -0.9416   ** 
SampleTypeother_treatment      -1.7642  0.9320  -1.8930  0.0584  -3.5908   0.0624    . 
SampleTypepharmacotherapy      -1.7374  1.2259  -1.4172  0.1564  -4.1401   0.6653      

without intercept:

Model Results:

                              estimate      se    zval    pval    ci.lb   ci.ub      
SampleTypeCBT_pharmaco          3.2570  0.8764  3.7162  0.0002   1.5392  4.9747  *** 
SampleTypeintervention_group    1.5788  0.2152  7.3362  <.0001   1.1570  2.0006  *** 
SampleTypeno_treatment          0.4400  0.3840  1.1458  0.2519  -0.3126  1.1926      
SampleTypeother_treatment       1.4927  0.3169  4.7105  <.0001   0.8716  2.1138  *** 
SampleTypepharmacotherapy       1.5196  0.8571  1.7729  0.0763  -0.1604  3.1996    . 

  • $\begingroup$ Please read our threads about dummy coding of variables. $\endgroup$
    – whuber
    Feb 24 at 13:10

1 Answer 1


This is expected behavior. The categorical moderator works in the same way as a categorical (dummy coded) predictor dies in regression, it's just that in meta-analysis the outcome is an effect, so it's called a moderator.

On your first analysis the intercept is 3.257. this is the estimate for the reference category when you dummy coded which is the first category alphabetically (CBT).

Second estimate is -1.67. This is the difference between CBT and intervention. In the second analysis it is 1.58. This is the estimated effect for intervention.

Notice that 3.25 - 1.67 = 1.58.

When you remove the intercept you are not changing the results, you are just moving things around in an equivalent way. You need to take into account when you interpret whether you had an intercept or not (and having an intercept is the usual way).

  • 2
    $\begingroup$ And, of course, the hypothesis being tested by the overall test for moderator and the individual coefficients is fundamentally different. $\endgroup$
    – mdewey
    Feb 24 at 13:43

Not the answer you're looking for? Browse other questions tagged or ask your own question.