mi.t.test | R Documentation |
Performs one and two sample t-tests on multiple imputed datasets.
mi.t.test(miData, ...) ## Default S3 method: mi.t.test(miData, x, y = NULL, alternative = c("two.sided", "less", "greater"), mu = 0, paired = FALSE, var.equal = FALSE, conf.level = 0.95, subset = NULL, ...)
miData |
list of multiple imputed datasets. |
x |
name of a variable that shall be tested. |
y |
an optional name of a variable that shall be tested (paired test) or a variable that shall be used to split into groups (unpaired test). |
alternative |
a character string specifying the alternative
hypothesis, must be one of |
mu |
a number indicating the true value of the mean (or difference in means if you are performing a two sample test). |
paired |
a logical indicating whether you want a paired t-test. |
var.equal |
a logical variable indicating whether to treat the
two variances as being equal. If |
conf.level |
confidence level of the interval. |
subset |
an optional vector specifying a subset of observations to be used. |
... |
further arguments to be passed to or from methods. |
alternative = "greater"
is the alternative that x
has a
larger mean than y
.
If paired
is TRUE
then both x
and y
must
be specified and they must be the same length. Missing values are
not allowed as they should have been imputed. If
var.equal
is TRUE
then the pooled estimate of the
variance is used. By default, if var.equal
is FALSE
then the variance is estimated separately for both groups and the
Welch modification to the degrees of freedom is used.
We use the approach of Rubin (1987) in combination with the adjustment of Barnard and Rubin (1999).
A list with class "htest"
containing the following components:
statistic |
the value of the t-statistic. |
parameter |
the degrees of freedom for the t-statistic. |
p.value |
the p-value for the test. |
conf.int |
a confidence interval for the mean appropriate to the specified alternative hypothesis. |
estimate |
the estimated mean (one-sample test), difference in means (paired test), or estimated means (two-sample test) as well as the respective standard deviations. |
null.value |
the specified hypothesized value of the mean or mean difference depending on whether it was a one-sample test or a two-sample test. |
alternative |
a character string describing the alternative hypothesis. |
method |
a character string indicating what type of t-test was performed. |
data.name |
a character string giving the name(s) of the data. |
Matthias Kohl Matthias.Kohl@stamats.de
Rubin, D. (1987). Multiple Imputation for Nonresponse in Surveys. John Wiley & Sons, New York.
Barnard, J. and Rubin, D. (1999). Small-Sample Degrees of Freedom with Multiple Imputation. Biometrika, 86(4), 948-955.
t.test
## Generate some data set.seed(123) x <- rnorm(25, mean = 1) x[sample(1:25, 5)] <- NA y <- rnorm(20, mean = -1) y[sample(1:20, 4)] <- NA pair <- c(rnorm(25, mean = 1), rnorm(20, mean = -1)) g <- factor(c(rep("yes", 25), rep("no", 20))) D <- data.frame(ID = 1:45, variable = c(x, y), pair = pair, group = g) ## Use Amelia to impute missing values library(Amelia) res <- amelia(D, m = 10, p2s = 0, idvars = "ID", noms = "group") ## Per protocol analysis (Welch two-sample t-test) t.test(variable ~ group, data = D) ## Intention to treat analysis (Multiple Imputation Welch two-sample t-test) mi.t.test(res$imputations, x = "variable", y = "group") ## Per protocol analysis (Two-sample t-test) t.test(variable ~ group, data = D, var.equal = TRUE) ## Intention to treat analysis (Multiple Imputation two-sample t-test) mi.t.test(res$imputations, x = "variable", y = "group", var.equal = TRUE) ## Specifying alternatives mi.t.test(res$imputations, x = "variable", y = "group", alternative = "less") mi.t.test(res$imputations, x = "variable", y = "group", alternative = "greater") ## One sample test t.test(D$variable[D$group == "yes"]) mi.t.test(res$imputations, x = "variable", subset = D$group == "yes") mi.t.test(res$imputations, x = "variable", mu = -1, subset = D$group == "yes", alternative = "less") mi.t.test(res$imputations, x = "variable", mu = -1, subset = D$group == "yes", alternative = "greater") ## paired test t.test(D$variable, D$pair, paired = TRUE) mi.t.test(res$imputations, x = "variable", y = "pair", paired = TRUE)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.