Description Usage Arguments Details Value Author(s) References See Also Examples
Performs (Generalised) Semi Linear Canonical Correlation Analysis, i.e. computes the canonical correlation between a data matrix and a nonlinear function of time. SLCCA is extended by allowing parameters to vary by a treatment factor and allowing adjustment for covariates. Shortcuts are provided for PK/PD models suitable for analysing EEG data.
1 2 3 4 5 |
Y |
a data matrix. |
formula |
either a nonlinear model formula specifying a function
of |
time |
a vector of time values corresponding to the rows of |
subject |
an optional factor grouping the rows of Y. If specified, a separate set of coefficients of Y will be estimated for each subject. |
global |
if |
treatment |
an optional factor (nested within |
ref |
the reference level of |
separate |
if |
partial |
a linear model formula specifying covariates to
partial out of the CCA analysis (may be |
data |
an optional data frame in which to evaluate the variables
in |
subset |
an optional logical or numeric vector specifying a subset of observations to be used in the fitting process. |
global.smooth |
controls the smoothing of |
subject.smooth |
controls the smoothing of |
pct.explained |
a scalar between 0 and 1 indicating the desired
minimum percentage of variance explained by the SVD approximation
when |
start |
a named list of starting values for the parameters. Each
element must have the same length as the number of non-reference
levels of |
method |
the method to be used by |
lower, upper |
bounds on the nonlinear parameters. |
... |
arguments passed on to |
The function fits the following model:
Y(t) * A = X(t, theta) * B
where Y(t) is a data matrix with rows of observations recorded at times t, A is a vector of loadings, X(t, theta) is a matrix with columns containing a nonlinear function with unknown parameters for each non-reference treatment level, and B is a vector of coefficients.
The parameters A, theta and B are estimated to optimise the correlation between the left- and right-hand sides of the model.
If partial specifies a matrix of covariates, G, to be
partialled out, then the canonical correlation analysis is based on
the residuals from the multivariate linear models
lm(Y ~ 0 + G)
and
lm(X ~ 0 + G)
When partial = ~1 this is equivalent to centering the columns
of Y and X.
The nonlinear function defining X may be specified by a character string for two pharmacokinetic/pharmacodynamic models:
"Double Exponential"~ exp(-time/exp(K1))-exp(-time/exp(K2))
"Critical Exponential"~ time*exp(-time/exp(K1))
The data matrix Y may be pre-smoothed to remove global
artefacts. This is achieved by approximating the data from the
number of SVD roots specified by global.smooth. If the
number of roots is not specified explicitly, k roots are
selected such that
lambda_k/lambda_1 >0.001 and
(sum_{j=1}^k lambda_j)/(sum_{j=1}^r lambda_j) >= p
where k = 1, ..., r, r is the rank of
Y, lambda_1, lambda_2,
... are the eigenvalues of the variance matrix and p is
given by pct.explained.
The data are then analysed for each level of subject separately
and the data may again be smoothed at this level to remove local
artefacts as specified by local.smooth.
The coefficients of the left-hand side matrix are sometimes referred to as loadings and are described in Brain et al (2011) as signatures.
The projected values Y(t) * A and X(t, theta) * B are known as the y scores and x scores respectively. In this context, they can be thought of as the (projected) observed and fitted values.
Signatures, observed and fitted values can be visualised using
plot.gslcca.
An object of class "gslcca", which is a list with components
call |
the call to |
ycoef |
a matrix of the coefficients of the left-hand side matrix, with one column per subject. |
xcoef |
a matrix of the coefficients of the left-hand
side matrix, with one column per subject if |
yscores |
a vector of y scores for all subjects. |
xscores |
a vector of x scores for all subjects. |
subject |
the variables specified by |
treatment |
the variables specified by |
time |
the variables specified by |
ref |
the reference level of |
nonlinear.parameters |
a matrix of the estimated nonlinear parameters, with one column per subject. |
y |
a list giving the (smoothed) left-hand side matrix for each subject,
after partialling out any covariates specified by |
x |
a list giving the right-hand side matrix for each subject,
after partialling out any covariates specified by |
global.smooth |
the number of roots used in global smoothing. |
subject.smooth |
the number of roots used for subject-level smoothing. |
pct.explained |
the percentage of variance explained by the subject-level approximation. |
opt |
a list of output from |
Foteini Strimenopoulou and Heather Turner
Brain, P., Strimenopoulou, F. and Ivarsson, M. (2011). Analysing electroencephalogram (EEG) data using Extended Semi-Linear Canonical Correlation Analysis. Submitted.
readSpectra and bandSpectra for reading in spectra
and aggregating over frequency bands.
plot.gslcca, varySmooth and gslcca-misc
for functions to plot gslcca results, check sensitivity with regards to
smoothing and access components of "gslcca" objects.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | data(clonidine)
### Fit separate Double Exponential models for each rate,
### with amplitude varying by treatment
result <- gslcca(spectra, "Double Exponential",
time = Time, subject = Rat, treatment = Treatment,
subject.smooth = TRUE, pct.explained = 0.96,
data = clonidine)
## drug signature
plot(result, "signature")
## projected values
plot(result, "fitted")
## projected values
plot(result, "scores")
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.