[R] lda on curves

Murray Jorgensen maj at stats.waikato.ac.nz
Mon Feb 17 04:29:02 CET 2003

I'm working on a rather interesting consulting problem with a client. A 
number of physical variables are measured on a number of cricket bowlers 
in the performance of a delivery. An example variable might be a 
directional component of angular momentum for a particular joint 
measured at a large number (101) of equally spaced timepoints.

Each bowler generates a (fairly smooth) curve for each variable 
measured. I decided to represent each curve by a few orthogonal 
polynomial constrasts.

There are 4 groups of bowlers corresponding to various speeds of 
delivery. I want to use canonical variant analysis to find linear 
combinations of my transformed variables discriminating well between the 
groups of bowlers.

I used lda() from the MASS library to do this, but examining the output 
I notice that the higher-order orthogonal polynomials are getting larger 
coefficients than the more important lower-order ones. This is clearly 
because some scaling of the variables is being done by lda(), and 
because the higher-order polynomial vaiable values are smaller, they are 
scaled up.

I would like to turn off this scaling as it is not what is needed in 
this problem and will cause the tail to "wag the dog". There is no 
obvious parameter to do this in

lda(x,   grouping, prior = proportions, tol = 1.0e-4,
                    subset, na.action = na.fail,
                    method, CV = FALSE, nu)

so I thought that I might try a hack. However:

 > lda
function (x, ...)
     if (is.null(class(x)))
         class(x) <- data.class(x)
     UseMethod("lda", x, ...)

which isn't very helpful.

Any ideas about how to perform an unscaled canonical variates analysis?


Dr Murray Jorgensen      http://www.stats.waikato.ac.nz/Staff/maj.html
Department of Statistics, University of Waikato, Hamilton, New Zealand
Email: maj at waikato.ac.nz                                Fax 7 838 4155
Phone  +64 7 838 4773 wk    +64 7 849 6486 home    Mobile 021 1395 862

More information about the R-help mailing list