R: Sign Test

SignTest {DescTools} | R Documentation

## Sign Test

### Description

Performs one- and two-sample sign tests on vectors of data.

### Usage

    SignTest(x, ...)

    ## Default S3 method:
    SignTest(x, y = NULL, alternative = c("two.sided", "less", "greater"),
             mu = 0, conf.level = 0.95, ... )

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

### Arguments

`x` | numeric vector of data values. Non-finite (e.g. infinite or missing) values will be omitted.
`y` | an optional numeric vector of data values: as with x non-finite values will be omitted.
`mu` | a number specifying an optional parameter used to form the null hypothesis. See Details.
`alternative` | is a character string, one of `"greater"`, `"less"`, or `"two.sided"`, or the initial letter of each, indicating the specification of the alternative hypothesis. For one-sample tests, `alternative` refers to the true median of the parent population in relation to the hypothesized value of the median.
`conf.level` | confidence level for the returned confidence interval, restricted to lie between zero and one.
`formula` | a formula of the form `lhs ~ rhs` where `lhs` gives the data values and rhs 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 formula interface is only applicable for the 2-sample test.

`SignTest` computes a “Dependent-samples Sign-Test” if both `x` and `y` are provided. If only `x` is provided, the “One-sample Sign-Test” will be computed.

For the one-sample sign-test, the null hypothesis is that the median of the population from which `x` is drawn is `mu`. For the two-sample dependent case, the null hypothesis is that the median for the differences of the populations from which `x` and `y` are drawn is `mu`. The alternative hypothesis indicates the direction of divergence of the population median for `x` from `mu` (i.e., `"greater"`, `"less"`, `"two.sided"`.)

The confidence levels are exact.

### Value

A list of class `htest`, containing the following components:

`statistic` | the S-statistic (the number of positive differences between the data and the hypothesized median), with names attribute “S”.
`parameter` | the total number of valid differences.
`p.value` | the p-value for the test.
`null.value` | is the value of the median specified by the null hypothesis. This equals the input argument `mu`.
`alternative` | a character string describing the alternative hypothesis.
`method` | the type of test applied.
`data.name` | a character string giving the names of the data.
`conf.int` | a confidence interval for the median.
`estimate` | the sample median.

### Author(s)

Andri Signorell <andri@signorell.net>

### References

Gibbons, J.D. and Chakraborti, S. (1992): Nonparametric Statistical Inference. Marcel Dekker Inc., New York.

Kitchens, L. J. (2003): Basic Statistics and Data Analysis. Duxbury.

Conover, W. J. (1980): Practical Nonparametric Statistics, 2nd ed. Wiley, New York.

### See Also

`t.test`, `wilcox.test`, `ZTest`, `binom.test`, `SIGN.test` in the package BSDA (reporting approximative confidence intervals).

### Examples

    x <- c(1.83,  0.50,  1.62,  2.48, 1.68, 1.88, 1.55, 3.06, 1.30)
    y <- c(0.878, 0.647, 0.598, 2.05, 1.06, 1.29, 1.06, 3.14, 1.29)

    SignTest(x, y)
    wilcox.test(x, y, paired = TRUE)

    d.light <- data.frame(
      black = c(25.85,28.84,32.05,25.74,20.89,41.05,25.01,24.96,27.47),
      white <- c(18.23,20.84,22.96,19.68,19.5,24.98,16.61,16.07,24.59),
      d <- c(7.62,8,9.09,6.06,1.39,16.07,8.4,8.89,2.88)
    )

    d <- d.light$d

    SignTest(x=d, mu = 4)
    wilcox.test(x=d, mu = 4, conf.int = TRUE)

    SignTest(x=d, mu = 4, alternative="less")
    wilcox.test(x=d, mu = 4, conf.int = TRUE, alternative="less")

    SignTest(x=d, mu = 4, alternative="greater")
    wilcox.test(x=d, mu = 4, conf.int = TRUE, alternative="greater")

    # test die interfaces
    x <- runif(10)
    y <- runif(10)
    g <- rep(1:2, each=10)
    xx <- c(x, y)

    SignTest(x ~ group, data=data.frame(x=xx, group=g ))
    SignTest(xx ~ g)
    SignTest(x, y)

    SignTest(x - y)

[Package DescTools version 0.99.34 Index]