# Heterogeneity Plots In metagam: Meta-Analysis of Generalized Additive Models

## Return data
dat
})


## Fit GAMs

Next, we analyze all datasets, and strip individual participant data.

models <- lapply(datasets, function(dat){
b <- gam(y ~ s(x2, bs = "cr"), data = dat)
strip_rawdata(b)
})


## Meta-Analysis

Next, we meta-analyze the models. Since we only have a single smooth term, we use type = "response" to get the response function. This is equivalent to using type = "iterms" and intercept = TRUE.

meta_analysis <- metagam(models, type = "response")


Next, we plot the separate estimates together with the meta-analytic fit. We clearly see that dataset 3, which had a positive shift $\beta=1 x_{2}^2$, lies above the others for $x_{2}$ close to 1, and opposite for dataset 5.

plot(meta_analysis)


The plotting function for the meta-analysis object is a ggplot2-object, and can thus be altered using standard ggplot syntax. To learn more about customization of ggplot2-objects, please see the ggplot2 documentation.

plot(meta_analysis) +
ggplot2::scale_colour_brewer(palette = "Set1")


We can investigate this further using a heterogeneity plot, which visualizes Cochran's Q-test (@Cochran1954) as a function of $x_{2}$. By default, the test statistic (Q), with 95 \% confidence bands, is plotted. We can see that the confidence band for Q is above 0 for $x_{2}$ larger than about 0.7.

plot_heterogeneity(meta_analysis)


We can also plot the $p$-value of Cochran's Q-test. The dashed line shows the value $0.05$. The $p$-value plot is in full agreement with the Q-statistic plot above: There is evidence that the underlying functions from each dataset are different for values from about 0.7 and above.

plot_heterogeneity(meta_analysis, type = "p")


# References

## Try the metagam package in your browser

Any scripts or data that you put into this service are public.

metagam documentation built on Nov. 14, 2021, 9:06 a.m.