infer_bf {baymedr} | R Documentation |
Bayes factor for non-inferiority designs
Description
infer_bf
computes a Bayes factor for non-inferiority designs
with a continuous dependent variable.
Usage
infer_bf(
x = NULL,
y = NULL,
n_x = NULL,
n_y = NULL,
mean_x = NULL,
mean_y = NULL,
sd_x = NULL,
sd_y = NULL,
ci_margin = NULL,
ci_level = NULL,
ni_margin = NULL,
ni_margin_std = TRUE,
prior_scale = 1/sqrt(2),
direction = "high"
)
Arguments
x |
A numeric vector of observations for the control group. |
y |
A numeric vector of observations for the experimental group. |
n_x |
A numeric vector of length one, specifying the sample size of the control group. |
n_y |
A numeric vector of length one, specifying the sample size of the experimental group. |
mean_x |
A numeric vector of length one, specifying the mean of the dependent variable in the control group. |
mean_y |
A numeric vector of length one, specifying the mean of the dependent variable in the experimental group. |
sd_x |
A numeric vector of length one, specifying the standard deviation
of the dependent variable in the control group. Only |
sd_y |
A numeric vector of length one, specifying the standard deviation
of the dependent variable in the experimental group. Only |
ci_margin |
A numeric vector of length one, specifying the margin of the
confidence interval (i.e., the width of the confidence interval divided by
2) of the mean difference on the dependent variable between the
experimental and control groups. The value should be a positive number Only
|
ci_level |
A numeric vector of length one, specifying the confidence
level of |
ni_margin |
A numeric vector of length one, specifying the non-inferiority margin. The value should be a positive number. |
ni_margin_std |
A logical vector of length one, specifying whether the
non-inferiority margin (i.e., |
prior_scale |
A numeric vector of length one, specifying the scale of the Cauchy prior distribution for the effect size under the alternative hypothesis (see Details). The default value is r = 1 / sqrt(2). |
direction |
A character vector of length one, specifying the direction of non-inferior scores. 'low' indicates that low scores on the measure of interest correspond to a non-inferior outcome and 'high' (the default) indicates that high scores on the measure of interest correspond to a non-inferior outcome (see Details). |
Details
The formulation of the null and alternative hypotheses for the non-inferiority design differs depending on whether high or low scores on the dependent variable represent non-inferiority. In the case where high scores correspond to non-inferiority, the hypotheses are as follows: The null hypothesis states that the population mean of the experimental group (e.g., a new medication) is lower than the population mean of the control group (e.g., a placebo or an already existing medication) minus the non-inferiority margin. The alternative hypothesis states that the population mean of the experimental group is higher than the population mean of the control group minus the non-inferiority margin. Thus, the null hypothesis goes in the negative direction (i.e., H-) and the alternative hypothesis in the positive direction (i.e., H+). In turn, in the case where low scores correspond to non-inferiority, the hypotheses are as follows: The null hypothesis states that the population mean of the experimental group is higher than the population mean of the control group plus the non-inferiority margin. The alternative hypothesis states that the population mean of the experimental group is lower than the population mean of the control group plus the non-inferiority margin. Thus, the null hypothesis goes in the positive direction (i.e., H+) and the alternative hypothesis in the negative direction (i.e., H-). The dependent variable must be continuous.
Since the main goal of infer_bf
is to establish
non-inferiority, the resulting Bayes factor quantifies evidence in favor of
the alternative hypothesis. In the case where high values represent
non-inferiority we have BF+- and in the case where low values represent
non-inferiority we have BF-+. Evidence for the null hypothesis can easily be
calculated by taking the reciprocal of the original Bayes factor (i.e., BF+-
= 1 / BF-+ and vice versa). Quantification of evidence in favor of the null
hypothesis is logically sound and legitimate within the Bayesian framework
(see e.g., van Ravenzwaaij et al., 2019).
infer_bf
can be utilized to calculate a Bayes factor based on
raw data (i.e., if arguments x
and y
are defined) or summary
statistics (i.e., if arguments n_x
, n_y
, mean_x
, and
mean_y
(or ci_margin
and ci_level
instead of sd_x
and sd_y
) are defined). Arguments with 'x' as a name or suffix
correspond to the control group, whereas arguments with 'y' as a name or
suffix correspond to the experimental group.
Since sometimes high scores on the dependent variable are considered
non-inferior (e.g., amount of social interactions) and sometimes rather the
low scores (e.g., severity of symptoms), the direction of non-inferiority can
be specified with the argument direction
. For the case where high
values on the dependent variable indicate non-inferiority, 'high' (the
default) should be specified for the argument direction
; if low values
on the dependent variable indicate non-inferiority, 'low' should be specified
for the argument direction
.
With the argument ni_margin
, the non-inferiority margin can be
specified. ni_margin
should be a positive number.' It can be declared
whether the non-inferiority margin is specified in standardized or
unstandardized units with the ni_margin_std
argument, where TRUE,
corresponding to standardized units, is the default.
For the calculation of the Bayes factor, a Cauchy prior density centered on 0
is chosen for the effect size under the alternative hypothesis. The standard
Cauchy distribution, with a location parameter of 0 and a scale parameter of
1, resembles a standard Normal distribution, except that the Cauchy
distribution has less mass at the center but heavier tails (Liang et al.,
2008; Rouder et al., 2009). The argument prior_scale
specifies the
width of the Cauchy prior, which corresponds to half of the interquartile
range. Thus, by adjusting the Cauchy prior scale with prior_scale
,
different ranges of expected effect sizes can be emphasized. The default
prior scale is set to r = 1 / sqrt(2).
infer_bf
creates an S4 object of class
baymedrNonInferiority, which has multiple slots/entries (e.g.,
type of data, prior scale, Bayes factor, etc.; see Value). If it is desired
to store or extract solely the Bayes factor, the user can do this with
get_bf
, by setting the S4 object as an argument (see Examples).
Value
An S4 object of class baymedrNonInferiority is returned. Contained are a description of the model and the resulting Bayes factor:
test: The type of analysis
hypotheses: A statement of the hypotheses
h0: The null hypothesis
-
h1: The alternative hypothesis
ni_margin: The value for ni_margin in standardized and unstandardized units
ni_mar_std: The standardized non-inferiority margin
ni_mar_unstd: The unstandardized non-inferiority margin
data: A description of the data
type: The type of data ('raw' when arguments
x
andy
are used or 'summary' when argumentsn_x
,n_y
,mean_x
,mean_y
,sd_x
, andsd_y
(orci_margin
andci_level
instead ofsd_x
andsd_y
) are used)-
...: values for the arguments used, depending on 'raw' or summary'
-
prior_scale: The width of the Cauchy prior distribution
bf: The resulting Bayes factor
A summary of the model is shown by printing the object.
References
Gronau, Q. F., Ly, A., & Wagenmakers, E.-J. (2020). Informed Bayesian t-tests. The American Statistician, 74(2), 137-143.
Liang, F., Paulo, R., Molina, G., Clyde, M. A., & Berger, J. O. (2008). Mixtures of g priors for Bayesian variable selection. Journal of the American Statistical Association, 103(481), 410-423.
Rouder, J. N., Speckman, P. L., Sun, D., Morey, R. D., & Iverson, G. (2009). Bayesian t tests for accepting and rejecting the null hypothesis. Psychonomic Bulletin & Review, 16(2), 225-237.
van Ravenzwaaij, D., Monden, R., Tendeiro, J. N., & Ioannidis, J. P. A. (2019). Bayes factors for superiority, non-inferiority, and equivalence designs. BMC Medical Research Methodology, 19(1), 71.
Examples
## infer_bf using raw data:
# Assign model to variable.
infer_raw <- infer_bf(x = rnorm(100, 10, 15),
y = rnorm(130, 13, 10),
ni_margin = 1.5,
ni_margin_std = FALSE)
# Extract Bayes factor from model.
get_bf(infer_raw)
# ----------
# ----------
## infer_bf using summary statistics with data from Andersson et al. (2013).
## Test at timepoint 1:
# Assign model to variable.
infer_sum_t1 <- infer_bf(n_x = 33,
n_y = 32,
mean_x = 17.1,
mean_y = 13.6,
sd_x = 8,
sd_y = 9.8,
ni_margin = 2,
ni_margin_std = FALSE,
direction = "low")
# Extract Bayes factor from model
get_bf(infer_sum_t1)
# ----------
# ----------
## infer_bf using summary statistics with data from Andersson et al. (2013).
## Test at timepoint 2:
# Assign model to variable.
infer_sum_t2 <- infer_bf(n_x = 30,
n_y = 32,
mean_x = 13.5,
mean_y = 9.2,
sd_x = 8.7,
sd_y = 7.6,
ni_margin = 2,
ni_margin_std = FALSE,
direction = "low")
# Extract Bayes factor from model
get_bf(infer_sum_t2)