medpolish
Median Polish (Robust Twoway Decomposition) of a Matrix
Description
Fits an additive model (twoway decomposition) using Tukey's median polish procedure.
Usage
medpolish(x, eps = 0.01, maxiter = 10, trace.iter = TRUE, na.rm = FALSE)
Arguments
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? |
Details
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
.
Value
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. |
References
Tukey, J. W. (1977). Exploratory Data Analysis, Reading Massachusetts: Addison-Wesley.
See Also
median
; aov
for a mean instead of median decomposition.
Examples
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)
Copyright (©) 1999–2012 R Foundation for Statistical Computing.
Licensed under the GNU General Public License.