medianPolish.matrix {aroma.light} | R Documentation |
Median polish.
## S3 method for class 'matrix': medianPolish(X, tol=0.01, maxIter=10, na.rm=NA, ..., .addExtra=TRUE)
X |
N-times-K matrix |
tol |
A numeric value greater than zero used as a threshold
to identify when the algorithm has converged. |
maxIter |
Maximum number of iterations. |
na.rm |
If TRUE (FALSE ), NA s are exclude (not exclude).
If NA , it is assumed that X contains no NA values. |
.addExtra |
If TRUE , the name of argument X is returned
and the returned structure is assigned a class. This will make the
result compatible what medpolish returns. |
... |
Not used. |
The implementation of this method give identical estimates as
medpolish
, but is about 3-5 times more efficient when
there are no NA
values.
Returns a named list
structure with elements:
overall |
The fitted constant term. |
row |
The fitted row effect. |
col |
The fitted column effect. |
residuals |
The residuals. |
converged |
If TRUE , the algorithm converged, otherwise not. |
normal-bracket56bracket-normal
Henrik Bengtsson (http://www.braju.com/R/)
# Deaths from sport parachuting; from ABC of EDA, p.224: deaths <- matrix(c(14,15,14, 7,4,7, 8,2,10, 15,9,10, 0,2,0), ncol=3, byrow=TRUE) rownames(deaths) <- c("1-24", "25-74", "75-199", "200++", "NA") colnames(deaths) <- 1973:1975 print(deaths) mp <- medianPolish(deaths) mp1 <- medpolish(deaths, trace=FALSE) print(mp) ff <- c("overall", "row", "col", "residuals") stopifnot(all.equal(mp[ff], mp1[ff])) # Validate decomposition: stopifnot(all.equal(deaths, mp$overall+outer(mp$row,mp$col,"+")+mp$resid))