one_two_sample: Deal with one and two (normal) samples

View source: R/one_two_sample.R

one_two_sampleR Documentation

Deal with one and two (normal) samples

Description

Deal with one and two (normal) samples. For one normal sample x, the function reports descriptive statistics, plot, interval estimation and test of hypothesis of x. For two normal samples x and y, the function reports descriptive statistics, plot, interval estimation and test of hypothesis of x and y, respectively. It also reports interval estimation and test of hypothesis of mu1-mu2 (the difference of the means of x and y) and sigma1^2/sigma2^2 (the ratio of the variances of x and y), tests whether x and y are from the same population, finds the correlation coefficient of x and y if x and y have the same length.

Usage

one_two_sample(x, y = NULL, mu = c(Inf, Inf), sigma = c(-1, -1), 
               var.equal = FALSE, ratio = 1, side = 0, alpha = 0.05)

Arguments

x

A numeric vector.

y

A numeric vector.

mu

If y = NULL, i.e., there is only one sample. See the argument mu in one_sample. For two normal samples x and y, mu plays one role: the population means. However, mu is used in two places: one is the two sided or one sided interval estimation of sigma1^2 / sigma2^2 of two normal samples, another is the two sided or one sided test of hypothesis of sigma1^2 and sigma2^2 of two normal samples. When mu is known, input it, and the function computes the interval endpoints (or the F value) using an F distribution with degree of freedom (n1, n2). When it is unknown, ignore it, and the function computes the interval endpoints (or the F value) using an F distribution with degree of freedom (n1-1, n2-1).

sigma

If y = NULL, i.e., there is only one sample. See the argument sigma in one_sample. For two normal samples x and y, sigma plays one role: the population standard deviations. However, sigma is used in two places: one is the two sided or one sided interval estimation of mu1-mu2 of two normal samples, another is the two sided or one sided test of hypothesis of mu1 and mu2 of two normal samples. When the standard deviations are known, input it, then the function computes the interval endpoints using normal population; when the standard deviations are unknown, ignore it, now we need to consider whether the two populations have equal variances. See var.equal below.

var.equal

A logical variable indicating whether to treat the two variances as being equal. If TRUE then the pooled variance is used to estimate the variance otherwise the Welch (or Satterthwaite) approximation to the degrees of freedom is used.

ratio

The hypothesized ratio of the population variances of x and y. It is used in var.test(x, y, ratio = ratio, ...), i.e., when computing the interval estimation and test of hypothesis of sigma1^2 / sigma2^2 when mu1 or mu2 is unknown.

side

If y = NULL, i.e., there is only one sample. See the argument side in one_sample. For two normal samples x and y, sigma is used in four places: interval estimation of mu1-mu2, test of hypothesis of mu1 and mu2, interval estimation of sigma1^2 / sigma2^2, test of hypothesis of sigma1^2 and sigma2^2. In interval estimation of mu1-mu2 or sigma1^2 / sigma2^2, side is a parameter used to control whether to compute two sided or one sided interval estimation. When computing the one sided upper limit, input side = -1 (or a number < 0); when computing the one sided lower limit, input side = 1 (or a number > 0); when computing the two sided limits, input side = 0 (default). In test of hypothesis of mu1 and mu2 or sigma1^2 and sigma2^2, side is a parameter used to control two sided or one sided test of hypothesis. When inputting side = 0 (default), the function computes two sided test of hypothesis, and H1: mu1 != mu2 or H1: sigma1^2 != sigma2^2; when inputting side = -1 (or a number < 0), the function computes one sided test of hypothesis, and H1: mu1 < mu2 or H1: sigma1^2 < sigma2^2; when inputting side = 1 (or a number > 0), the function computes one sided test of hypothesis, and H1: mu1 > mu2 or H1: sigma1^2 > sigma2^2.

alpha

The significance level, a real number in [0, 1]. Default to 0.05. 1-alpha is the degree of confidence.

Value

A list with the following components:

one_sample_x

It contains the results by one_sample(x, ...).

one_sample_y

It contains the results by one_sample(y, ...).

mu1_mu2_interval

It contains the results of interval estimation of mu1-mu2.

mu1_mu2_hypothesis

It contains the results of test of hypothesis of mu1-mu2.

sigma_ratio_interval

It contains the results of interval estimation of sigma1^2 / sigma2^2.

sigma_ratio_hypothesis

It contains the results of test of hypothesis of sigma1^2 / sigma2^2.

res.ks

It contains the results of ks.test(x,y).

res.binom

It contains the results of binom.test(sum(x<y), length(x)).

res.wilcox

It contains the results of wilcox.test(x, y, ...).

cor.pearson

It contains the results of cor.test(x, y, method = "pearson", ...).

cor.kendall

It contains the results of cor.test(x, y, method = "kendall", ...).

cor.spearman

It contains the results of cor.test(x, y, method = "spearman", ...).

Author(s)

Ying-Ying Zhang (Robert) robertzhangyying@qq.com

References

Zhang, Y. Y., Wei, Y. (2013), One and two samples using only an R funtion, \Sexpr[results=rd]{tools:::Rd_expr_doi("10.2991/asshm-13.2013.29")}.

Examples

## One sample
x=rnorm(10, mean = 1, sd = 0.2); x

## one_sample(x, ...) == one_two_sample(x, ...)
one_sample(x, mu = 1, sigma = 0.2, side = 1)
one_two_sample(x, mu = 1, sigma = 0.2, side = 1)

one_sample(x, sigma = 0.2, side = 1)
one_two_sample(x, sigma = 0.2, side = 1)

one_sample(x, mu = 1, side = 1)
one_two_sample(x, mu = 1, side = 1)

one_sample(x)
one_two_sample(x)

## Two samples
set.seed(1)
x=rnorm(10, mean = 1, sd = 0.2); x
y=rnorm(20, mean = 2, sd = 0.3); y
y2=rnorm(20, mean = 2, sd = 0.2); y2

## sigma1, sigma2 known; mu1, mu2 known
one_two_sample(x, y, sigma = c(0.2, 0.3), mu = c(1, 2))

## sigma1 = sigma2 unknown; mu1, mu2 known
one_two_sample(x, y2, var.equal = TRUE, mu = c(1, 2))

## sigma1 != sigma2 unknown; mu1, mu2 known
one_two_sample(x, y, mu = c(1, 2))

## sigma1, sigma2 known; mu1, mu2 unknown
one_two_sample(x, y, sigma = c(0.2, 0.3))

## sigma1 = sigma2 unknown; mu1, mu2 unknown
one_two_sample(x, y2, var.equal = TRUE)

## sigma1 != sigma2 unknown; mu1, mu2 unknown
one_two_sample(x, y)


OneTwoSamples documentation built on March 31, 2023, 11:49 p.m.