[meta] Forest plot does not give subgroup total N


New Member

I am performing a meta-analysis in R using the meta package. For binary variables, everything works perfect. However, for continous data (using standardized mean difference as effect measure), I have one problem.

I am performing subgroup analysis bases on study design (RCT, prospective etc.). However, the forest function does not give subtotal N but it give a 'dot' (= ., see example below) instead. If I pool all subgroups to an overall effect, it will give a total N, but it still does not give subtotal N.

Is it possible to add a variable that calculates 'subtotal N' per subgroup rather than a 'Total N'? If not, is it possible to add the text myself (it is not hard to calculate the total N so I can calculate it myself and just add it to the forest plot as text, but how)?

Thanks in advance.

Example of the 'dot' as subtotal N. In this example, it does not give total N. This is however possible in my situation, but I am not able to get the subtotal N.


Less is more. Stay pure. Stay poor.
Can you post your code please. I can't remember if I have use 'meta' before or just 'metafor' - I think.


New Member
Code for metagen (total analysis):

>madata13<-metagen(loSatisfaction$SMD, loSatisfaction$SE, data = loSatisfaction, studlab = paste(Author), comb.fixed = FALSE, comb.random = TRUE, hakn = FALSE, prediction=FALSE, sm="SMD", )

Code for subgroup analysis (by study design):

>madata13.sub<-update.meta(madata13, byvar=loSatisfaction$Design)

Forest plot:

forest(madata13.sub, fontsize = 10, xlab.pos = 1, print.tau2 = FALSE, subgroup = TRUE, print.subgroup.labels = TRUE, overall = FALSE, test.subgroup.random = TRUE, sortvar = loSatisfaction$Year, lab.e = "Intervention", lab.c = "Control", col.diamond = "gray", col.by = "black", plotwidth = "8cm", colgap.left = "5mm", colgap.forest.left = "1cm", xlim=c(0.01,100), test.effect.subgroup.random = TRUE, print.zval = FALSE, col.diamond.random = "black", label.left = "Favours Intervention", label.right = "Favours Control")


Less is more. Stay pure. Stay poor.
For a follow-up on my end, I will not likely get around to playing with the code until next Tuesday, pretty busy right now. If I figure anything out I will post at that time.