The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
The metagam package offers a way to visualize the heterogeneity of the estimated smooth functions over the range of explanatory variables. This will be illustrated here.
library("metagam")
We start by simulating 5 datasets using the gamSim()
function from mgcv. We use the response \(y\) and the explanatory variable \(x_{2}\), but add an additional shift \(\beta x_{2}^{2}\) where \(\beta_{2}\) differs between datasets,
yielding heterogeneous data.
library("mgcv")
#> Loading required package: nlme
#> This is mgcv 1.8-42. For overview type 'help("mgcv-package")'.
set.seed(1233)
<- c(0, .5, 1, 0, -1)
shifts <- lapply(shifts, function(x) {
datasets ## Simulate data
<- gamSim(scale = .1, verbose = FALSE)
dat ## Add a shift
$y <- dat$y + x * dat$x2^2
dat## Return data
dat })
Next, we analyze all datasets, and strip individual participant data.
<- lapply(datasets, function(dat){
models <- gam(y ~ s(x2, bs = "cr"), data = dat)
b strip_rawdata(b)
})
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
.
<- metagam(models, type = "response") meta_analysis
Next, we plot the separate estimates together with the meta-analytic fit. We 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, legend = TRUE)
We can investigate this further using a heterogeneity plot, which visualizes Cochran’s Q-test (Cochran (1954)) 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")
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.