Skip to contents

Fits publication-bias models using estimates from a fitted mars object. Currently implements the beta selection model described by Citkowicz and Vevea (2017), where selection weights are modeled as a beta kernel over p-values. Also supports a beta-binomial selection model over equal-width p-value bins.

Usage

publication_bias(
  mars_object,
  method = c("beta_selection", "beta_binomial", "logistic_selection"),
  p_value_tail = c("two.sided", "right", "left"),
  n_bins = 10,
  p_value_min = NULL,
  maxit = 2000,
  integration_points = 121,
  integration_limit = 8,
  funnel_plot = FALSE,
  funnel_args = list(),
  control = list(),
  ...
)

Arguments

mars_object

A fitted object returned by mars.

method

Publication-bias method. One of "beta_selection" or "beta_binomial" or "logistic_selection".

p_value_tail

Which p-value tail to use for the selection function. One of "two.sided", "right", or "left".

n_bins

Number of p-value bins used when method = "beta_binomial". Ignored for "beta_selection". For "beta_binomial", p-values are assigned to equal-width bins \([j / n\_bins, (j + 1) / n\_bins)\) for \(j = 0, \ldots, n\_bins - 1\), with \(p = 1\) assigned to the final bin.

p_value_min

Lower/upper censoring point for p-values used inside the selection likelihood. When NULL, defaults to 1e-5 for method = "beta_selection" and 1e-12 otherwise. This setting is most relevant for "beta_selection"; for "beta_binomial", it typically only affects exact boundary values such as \(p = 0\) or \(p = 1\).

maxit

Maximum number of optimization iterations passed to optim.

integration_points

Number of grid points used for numeric integration of the normalization term in the selection likelihood.

integration_limit

Absolute z-limit for integration grid.

funnel_plot

Logical; if TRUE, draws a funnel plot from the fitted publication-bias object.

funnel_args

Optional named list passed to funnel_plot when funnel_plot = TRUE.

control

Optional named list of control values passed to optim.

...

Unused. Optimization controls should be supplied through control; optimization uses "BFGS" internally.

Value

A list of class pub_bias containing adjusted coefficients, selection parameters, optimization diagnostics, and an adjusted-vs-unadjusted coefficient summary table.

References

Citkowicz, M., & Vevea, J. L. (2017). A parsimonious weight function for modeling publication bias. Psychological Methods, 22(1), 28-41.

Examples

if (FALSE) { # \dontrun{
fit <- mars(
  data = teacher_expectancy,
  studyID = "study",
  effectID = NULL,
  sample_size = NULL,
  formula = yi ~ 1,
  variance = "vi",
  varcov_type = "univariate",
  structure = "univariate"
)
bias_fit <- publication_bias(fit, method = "beta_selection")
summary(bias_fit)
} # }