Fit a linear regression model using independent components

# S3 method for formula
icr(formula, data, weights, ..., subset, na.action,
  contrasts = NULL)

# S3 method for default
icr(x, y, ...)

# S3 method for icr
predict(object, newdata, ...)

Arguments

formula

A formula of the form class ~ x1 + x2 + ...{}

data

Data frame from which variables specified in formula are preferentially to be taken.

weights

(case) weights for each example - if missing defaults to 1.

...

arguments passed to fastICA

subset

An index vector specifying the cases to be used in the training sample. (NOTE: If given, this argument must be named.)

na.action

A function to specify the action to be taken if NAs are found. The default action is for the procedure to fail. An alternative is na.omit, which leads to rejection of cases with missing values on any required variable. (NOTE: If given, this argument must be named.)

contrasts

a list of contrasts to be used for some or all of the factors appearing as variables in the model formula.

x

matrix or data frame of x values for examples.

y

matrix or data frame of target values for examples.

object

an object of class icr as returned by icr.

newdata

matrix or data frame of test examples.

Value

For icr, a list with elements

model

the results of lm after the ICA transformation

ica

pre-processing information

n.comp

number of ICA components

names

column names of the original data

Details

This produces a model analogous to Principal Components Regression (PCR) but uses Independent Component Analysis (ICA) to produce the scores. The user must specify a value of n.comp to pass to fastICA.

The function preProcess to produce the ICA scores for the original data and for newdata.

See also

fastICA, preProcess, lm

Examples

data(BloodBrain) icrFit <- icr(bbbDescr, logBBB, n.comp = 5)
#> Error: package fastICA is required
icrFit
#> Error in eval(expr, envir, enclos): object 'icrFit' not found
predict(icrFit, bbbDescr[1:5,])
#> Error in predict(icrFit, bbbDescr[1:5, ]): object 'icrFit' not found