Calculates the confidence interval for the difference of two means either the classical way or with the bootstrap approach.

MeanDiffCI(x, ...)

# Default S3 method
MeanDiffCI(x, y, method = c("classic", "norm", "basic", "stud", "perc", "bca"),
           conf.level = 0.95, sides = c("two.sided", "left", "right"), paired = FALSE,
           na.rm = FALSE, R = 999, ...)

# S3 method for class 'formula'
MeanDiffCI(formula, data, subset, na.action, ...)

Arguments

x

a (non-empty) numeric vector of data values.

y

a (non-empty) numeric vector of data values.

method

a vector of character strings representing the type of intervals required. The value should be any subset of the values "classic", "norm", "basic", "stud", "perc", "bca". See boot.ci.

conf.level

confidence level of the interval.

sides

a character string specifying the side of the confidence interval, must be one of "two.sided" (default), "left" or "right". You can specify just the initial letter. "left" would be analogue to a hypothesis of "greater" in a t.test.

paired

a logical indicating whether you want confidence intervals for a paired design. Defaults to FALSE.

na.rm

logical. Should missing values be removed? Defaults to FALSE.

R

the number of bootstrap replicates. Usually this will be a single positive integer. For importance resampling, some resamples may use one set of weights and others use a different set of weights. In this case R would be a vector of integers where each component gives the number of resamples from each of the rows of weights. See boot.

formula

a formula of the form lhs ~ rhs where lhs is a numeric variable giving the data values and rhs a factor with two levels giving the corresponding groups.

data

an optional matrix or data frame (or similar: see model.frame) containing the variables in the formula formula. By default the variables are taken from environment(formula).

subset

an optional vector specifying a subset of observations to be used.

na.action

a function which indicates what should happen when the data contain NAs. Defaults to getOption("na.action").

...

further argument to be passed to or from methods.

Details

This function collects code from two sources. The classical confidence interval is calculated by means of t.test. The bootstrap intervals are strongly based on the example in boot.

Value

a numeric vector with 3 elements:

meandiff

the difference: mean(x) - mean(y)

lwr.ci

lower bound of the confidence interval

upr.ci

upper bound of the confidence interval

Author

Andri Signorell <andri@signorell.net>

Examples

x <- d.pizza$price[d.pizza$driver=="Carter"]
y <- d.pizza$price[d.pizza$driver=="Miller"]

MeanDiffCI(x, y, na.rm=TRUE)
#>   meandiff     lwr.ci     upr.ci 
#> -4.5735546 -9.2621803  0.1150712 
MeanDiffCI(x, y, conf.level=0.99, na.rm=TRUE)
#>   meandiff     lwr.ci     upr.ci 
#>  -4.573555 -10.752249   1.605140 

# the different types of bootstrap confints
MeanDiffCI(x, y, method="norm", na.rm=TRUE)
#>   meandiff     lwr.ci     upr.ci 
#> -4.5735546 -9.0779471 -0.1159996 
MeanDiffCI(x, y, method="basic", na.rm=TRUE)
#>  meandiff    lwr.ci    upr.ci 
#> -4.573555 -9.105721  0.109601 
# MeanDiffCI(x, y, method="stud", na.rm=TRUE)
MeanDiffCI(x, y, method="perc", na.rm=TRUE)
#>  meandiff    lwr.ci    upr.ci 
#> -4.573555 -9.302855  0.129432 
MeanDiffCI(x, y, method="bca", na.rm=TRUE)
#>   meandiff     lwr.ci     upr.ci 
#> -4.5735546 -9.1973690 -0.1745148 

# the formula interface
MeanDiffCI(price ~ driver, data=d.pizza, subset=driver %in% c("Carter","Miller"))
#>   meandiff     lwr.ci     upr.ci 
#> -4.5735546 -9.2621803  0.1150712