# varTest: One-Sample Chi-Squared Test on Variance In EnvStats: Package for Environmental Statistics, Including US EPA Guidance

## Description

Estimate the variance, test the null hypothesis using the chi-squared test that the variance is equal to a user-specified value, and create a confidence interval for the variance.

## Usage

 ```1 2``` ``` varTest(x, alternative = "two.sided", conf.level = 0.95, sigma.squared = 1, data.name = NULL) ```

## Arguments

 `x` numeric vector of observations. Missing (`NA`), undefined (`NaN`), and infinite (`Inf`, `-Inf`) values are allowed but will be removed. `alternative` character string indicating the kind of alternative hypothesis. The possible values are `"two.sided"` (the default), `"greater"`, and `"less"`. `conf.level` numeric scalar between 0 and 1 indicating the confidence level associated with the confidence interval for the population variance. The default value is `conf.level=0.95`. `sigma.squared` a numeric scalar indicating the hypothesized value of the variance. The default value is `sigma.squared=1`. `data.name` character string indicating the name of the data used for the test of variance.

## Details

The function `varTest` performs the one-sample chi-squared test of the hypothesis that the population variance is equal to the user specified value given by the argument `sigma.squared`, and it also returns a confidence interval for the population variance. The R function `var.test` performs the F-test for comparing two variances.

## Value

A list of class `"htest"` containing the results of the hypothesis test. See the help file for `htest.object` for details.

## Note

Just as you can perform tests of hypothesis on measures of location (mean, median, percentile, etc.), you can do the same thing for measures of spread or variability. Usually, we are interested in estimating variability only because we want to quantify the uncertainty of our estimated location or percentile. Sometimes, however, we are interested in estimating variability and quantifying the uncertainty in our estimate of variability (for example, for performing a sensitivity analysis for power or sample size calculations), or testing whether the population variability is equal to a certain value. There are at least two possible methods of performing a one-sample hypothesis test on variability:

• Perform a hypothesis test for the population variance based on the chi-squared statistic, assuming the underlying population is normal.

• Perform a hypothesis test for any kind of measure of spread assuming any kind of underlying distribution based on a bootstrap confidence interval (using, for example, the package boot).

You can use `varTest` for the first method.

Note: For a one-sample test of location, Student's t-test is fairly robust to departures from normality (i.e., the Type I error rate is maintained), as long as the sample size is reasonably "large." The chi-squared test on the population variance, however, is extremely sensitive to departures from normality. For example, if the underlying population is skewed, the actual Type I error rate will be larger than assumed.

## Author(s)

Steven P. Millard ([email protected])

## References

van Belle, G., L.D. Fisher, Heagerty, P.J., and Lumley, T. (2004). Biostatistics: A Methodology for the Health Sciences, 2nd Edition. John Wiley & Sons, New York.

Millard, S.P., and N.K. Neerchal. (2001). Environmental Statistics with S-PLUS. CRC Press, Boca Raton, FL.

Zar, J.H. (2010). Biostatistical Analysis. Fifth Edition. Prentice-Hall, Upper Saddle River, NJ.

`var.test`, `varGroupTest`.

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37``` ``` # Generate 20 observations from a normal distribution with parameters # mean=2 and sd=1. Test the null hypothesis that the true variance is # equal to 0.5 against the alternative that the true variance is not # equal to 0.5. # (Note: the call to set.seed allows you to reproduce this example). set.seed(23) dat <- rnorm(20, mean = 2, sd = 1) varTest(dat, sigma.squared = 0.5) #Results of Hypothesis Test #-------------------------- # #Null Hypothesis: variance = 0.5 # #Alternative Hypothesis: True variance is not equal to 0.5 # #Test Name: Chi-Squared Test on Variance # #Estimated Parameter(s): variance = 0.753708 # #Data: dat # #Test Statistic: Chi-Squared = 28.64090 # #Test Statistic Parameter: df = 19 # #P-value: 0.1436947 # #95% Confidence Interval: LCL = 0.4359037 # UCL = 1.6078623 # Note that in this case we would not reject the # null hypothesis at the 5% or even the 10% level. # Clean up rm(dat) ```

### Example output

```Attaching package: 'EnvStats'

The following objects are masked from 'package:stats':

predict, predict.lm

The following object is masked from 'package:base':

print.default

Results of Hypothesis Test
--------------------------

Null Hypothesis:                 variance = 0.5

Alternative Hypothesis:          True variance is not equal to 0.5

Test Name:                       Chi-Squared Test on Variance

Estimated Parameter(s):          variance = 0.753708

Data:                            dat

Test Statistic:                  Chi-Squared = 28.6409

Test Statistic Parameter:        df = 19

P-value:                         0.1436947

95% Confidence Interval:         LCL = 0.4359037
UCL = 1.6078623
```

EnvStats documentation built on July 15, 2018, 9:03 a.m.