| medpolish {stats} | R Documentation |
Fits an additive model using Tukey's median polish procedure.
medpolish(x, eps = 0.01, maxiter = 10, trace.iter = TRUE,
na.rm = FALSE)
x |
a numeric matrix. |
eps |
real number greater than 0. A tolerance for convergence: see ‘Details’. |
maxiter |
the maximum number of iterations |
trace.iter |
logical. Should progress in convergence be reported? |
na.rm |
logical. Should missing values be removed? |
The model fitted is additive (constant + rows + columns). The
algorithm works by alternately removing the row and column medians,
and continues until the proportional reduction in the sum
of absolute residuals is less than eps
or until there have been maxiter iterations.
The sum of absolute residuals is printed at
each iteration of the fitting process, if trace.iter is TRUE.
If na.rm is FALSE the presence of any NA value in
x will cause an error, otherwise NA values are ignored.
medpolish returns an object of class medpolish (see below).
There are printing and plotting methods for this
class, which are invoked via by the generics
print and plot.
An object of class medpolish with the following named components:
overall |
the fitted constant term. |
row |
the fitted row effects. |
col |
the fitted column effects. |
residuals |
the residuals. |
name |
the name of the dataset. |
Tukey, J. W. (1977). Exploratory Data Analysis, Reading Massachusetts: Addison-Wesley.
median; aov for a mean
instead of median decomposition.
require(graphics)
## Deaths from sport parachuting; from ABC of EDA, p.224:
deaths <-
rbind(c(14,15,14),
c( 7, 4, 7),
c( 8, 2,10),
c(15, 9,10),
c( 0, 2, 0))
dimnames(deaths) <- list(c("1-24", "25-74", "75-199", "200++", "NA"),
paste(1973:1975))
deaths
(med.d <- medpolish(deaths))
plot(med.d)
## Check decomposition:
all(deaths ==
med.d$overall + outer(med.d$row,med.d$col, "+") + med.d$residuals)