# Force a rma.mv fitted model to have the intercept value equal to 1.0 in R

I'm new in this blog and my knowledge in R is very weak. However, I was trying to set the intercept at 1 in the following rma.mv ('metafor' package) function:

rma.mv(S_ratio, Variance, data=dat_S_ratio, mods= ~ N_Total_e, random= ~1|Primary_Study)


Basically I want to force the function to pass from the point (0,1). I assume thus, that S_ratio value is 1 when N_Total_e is 0. There are many examples on how to do that with fixed effect models (e.g. 'lm'), while I found no examples for functions fitted with random effect models (e.g. 'rma.mv' or 'lme').

Do you know if that is possible also in models with more that 1 moderator variables? For example:

rma.mv(S_ratio, Variance, data=dat_S_ratio, mods= ~ N_Total_e + MAP_e + MAT_e, random= ~1|Primary_Study)

• If your outcome is indeed a ratio would you not be better off modelling it as log(ratio)? – mdewey Sep 28 '16 at 12:59
• ok, thanks! You mean, I could use in my meta-analysis the log response ratio, namely (ln(S_ratio)) as an effect size, instead of the S_ratio itself. That should also make the regression starting from (0,1)? – Gabriele Midolo Sep 28 '16 at 13:29
• The main reason is that the log ratio is symmetrical about zero whereas the ratio is not symmetric about unity. You will need to recompute the variances of course. Note that escalc deals with log ratios somewhere. – mdewey Sep 28 '16 at 13:32