eovcheck: Testing for equality of variance plot In s20x: Functions for University of Auckland Course STATS 201/208 Data Analysis

Description

Plots the residuals versus the fitted (or predicted) values from a linear model. A horizontal line is drawn at y = 0, reflecting the fact that we expect the residuals to have a mean of zero. An optional lowess line is drawn if smoother is set to TRUE. This can be useful in determining whether a trend still exists in the residuals. An optional pair of lines is drawn at +/- 2 times the standard deviation of the residuals - which is estimated from the Residual Mean Sqare (Within group mean square = WGMS). This can be useful in highlighting potential outliers. If the model has one or two factors and no continous variables, i.e. if it is a oneway or twoway ANOVA model, and `levene = TRUE` then the P-value from Levene's test for equality variance is displayed in the top left hand corner,as long as the number of observations per group exceeds two.

Usage

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17``` ```eovcheck(x, ...) ## S3 method for class 'formula' eovcheck( x, data = NULL, xlab = "Fitted values", ylab = "Residuals", col = NULL, smoother = FALSE, twosd = FALSE, levene = FALSE, ... ) ## S3 method for class 'lm' eovcheck(x, smoother = FALSE, twosd = FALSE, levene = FALSE, ...) ```

Arguments

 `x` A linear model formula. Alternatively, a fitted lm object from a linear model. `...` Optional arguments `data` A data frame in which to evaluate the formula. `xlab` a title for the x axis: see `title`. `ylab` a title for the y axis: see `title`. `col` a color for the lowess smoother line. `smoother` if TRUE then a smoothed lowess line will be added to the plot `twosd` if `TRUE` then horizontal dotted lines will be drawn at +/-2sd `levene` if `TRUE` then the P-value from Levene's test for equality of variance is displayed

Methods (by class)

• `formula`: Testing for equality of variance plot

• `lm`: Testing for equality of variance plot

`levene.test`
 ``` 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``` ```# one way ANOVA - oysters data(oysters.df) oyster.fit = lm(Oysters ~ Site, data = oysters.df) eovcheck(oyster.fit) # Same model as the previous example, but using eovcheck.formula data(oysters.df) eovcheck(Oysters ~ Site, data = oysters.df) # A two-way model without interaction data(soyabean.df) soya.fit=lm(yield ~ planttime + cultivar, data = soyabean.df) eovcheck(soya.fit) # A two-way model with interaction data(arousal.df) arousal.fit = lm(arousal ~ gender * picture, data = arousal.df) eovcheck(arousal.fit) # A regression model data(peru.df) peru.fit = lm(BP ~ height + weight + age + years, data = peru.df) eovcheck(peru.fit) # A time series model data(airpass.df) t = 1:144 month = factor(rep(1:12, 12)) airpass.df = data.frame(passengers = airpass.df\$passengers, t = t, month = month) airpass.fit = lm(log(passengers)[-1] ~ t[-1] + month[-1] + log(passengers)[-144], data = airpass.df) eovcheck(airpass.fit) ```