Learn R Programming

preprocessCore (version 1.34.0)

rcModels: Fit row-column model to a matrix

Description

These functions fit row-column effect models to matrices

Usage

rcModelPLM(y,row.effects=NULL,input.scale=NULL) rcModelWPLM(y, w,row.effects=NULL,input.scale=NULL) rcModelMedianPolish(y)

Arguments

y
A numeric matrix
w
A matrix or vector of weights. These should be non-negative.
row.effects
If these are supplied then the fitting procedure uses these (and analyzes individual columns separately)
input.scale
If supplied will be used rather than estimating the scale from the data

Value

A list with following items:
Estimates
The parameter estimates. Stored in column effect then row effect order
Weights
The final weights used
Residuals
The residuals
StdErrors
Standard error estimates. Stored in column effect then row effect order
Scale
Scale Estimates

Details

These functions fit row-column models to the specified input matrix. Specifically the model $$y_{ij} = r_i + c_j + \epsilon_{ij}$$ with $r_i$ and $c_j$ as row and column effects respectively. Note that this functions treat the row effect as the parameter to be constrained using sum to zero (for rcModelPLM and rcModelWPLM) or median of zero (for rcModelMedianPolish).

The rcModelPLM and rcModelWPLM functions use a robust linear model procedure for fitting the model.

The function rcModelMedianPolish uses the median polish algorithm.

See Also

rcModelPLMr,rcModelPLMd

Examples

Run this code
col.effects <- c(10,11,10.5,12,9.5)
row.effects <- c(seq(-0.5,-0.1,by=0.1),seq(0.1,0.5,by=0.1))


y <- outer(row.effects, col.effects,"+")
w <- runif(50)

rcModelPLM(y)
rcModelWPLM(y, w)
rcModelMedianPolish(y)

y <- y + rnorm(50)

rcModelPLM(y)
rcModelWPLM(y, w)
rcModelMedianPolish(y)



rcModelPLM(y,row.effects=row.effects)
rcModelWPLM(y,w,row.effects=row.effects)

rcModelPLM(y,input.scale=1.0)
rcModelWPLM(y, w,input.scale=1.0)
rcModelPLM(y,row.effects=row.effects,input.scale=1.0)
rcModelWPLM(y,w,row.effects=row.effects,input.scale=1.0)




Run the code above in your browser using DataLab