Learn R Programming

MKinfer (version 1.4)

xiao.t.test: Xiao Two-Sample t-Test

Description

Performs Xiao two sample t-tests on vectors of data.

Usage

xiao.t.test(x, ...)

# S3 method for default xiao.t.test(x, y, alternative = c("two.sided", "less", "greater"), mu = 0, conf.level = 0.95, ...)

# S3 method for formula xiao.t.test(formula, data, subset, na.action, ...)

Value

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 means and 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.

stderr

the standard error of the difference in means, used as denominator in the t-statistic formula.

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.

Arguments

x

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

y

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

alternative

a character string specifying the alternative hypothesis, must be one of "two.sided" (default), "greater" or "less". You can specify just the initial letter.

mu

a number indicating the true value of the mean (or difference in means if you are performing a two sample test).

conf.level

confidence level of the interval.

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 arguments to be passed to or from methods.

Details

The function and its documentation was adapted from hsu.t.test.

alternative = "greater" is the alternative that x has a larger mean than y.

If the input data are effectively constant (compared to the larger of the two means) an error is generated.

The test is based on the solution of a generalized Behrens-Fisher problem derived by Xiao (2018) and corresponds to the two-sample test derived in Section 5.3 of Xiao (2018). The test is based on a generalized t-distribution.

References

Y. Xiao (2018). On the Solution of a Generalized Behrens-Fisher Problem. Far East Journal of Theoretical Statistics, 54 (1), 21-140.

See Also

t.test, hsu.t.test

Examples

Run this code
## Examples taken and adapted from function t.test
t.test(1:10, y = c(7:20))      # P = .00001855
t.test(1:10, y = c(7:20, 200)) # P = .1245    -- NOT significant anymore
xiao.t.test(1:10, y = c(7:20))
xiao.t.test(1:10, y = c(7:20, 200))

## Traditional interface
with(mtcars, t.test(mpg[am == 0], mpg[am == 1]))
with(mtcars, xiao.t.test(mpg[am == 0], mpg[am == 1]))
## Formula interface
t.test(mpg ~ am, data = mtcars)
xiao.t.test(mpg ~ am, data = mtcars)

## Example 6.1 in Xiao (2018)
x <- c(134, 146, 104, 119, 124, 161, 107, 83, 113, 129, 97, 123)
y <- c(70, 118, 101, 85, 107, 132, 94)
xiao.t.test(x, y, alternative = "greater")
t.test(x, y, var.equal = TRUE, alternative = "greater")
t.test(x, y, alternative = "greater")
hsu.t.test(x, y, alternative = "greater")

Run the code above in your browser using DataLab