Nothing
      ## common pretreatment of data for PLS-LDA and PCA-LDA
##' @include cbmodels.R
.ldapreproc <- function (X, Y, grouping#, subset = TRUE#, na.action
                         ){
  if (! is.matrix (X))
    X <- as.matrix (X)
  
  ## produce both forms of Y data
  if (missing (Y))
    Y <- factor2matrix (grouping)
  if (! is.matrix (Y))
    Y <- as.matrix (Y)
  if (missing (grouping))
    grouping <- hardclasses (Y)
  ## deal with NAs
  if (any (is.na (grouping)) || any (is.na (X)) || any (is.na (Y)))
    stop ("NA in data are not yet supported.")
  
  ## deal with NAs like lda does
  ## if (! missing (na.action)){
  ##   tmp <- na.action ()
  ##   X <- df$X
  ##   Y <- df$Y
  ##   grouping <- df$grouping
  ## }
    
  ## centering parameters
  ## TODO: priors
  weights <- 1 / table (grouping) #  weights <- 1 / colSums (Y)
  weights <- as.numeric (weights [grouping]) # get rid of matrix dimensions
  
  Xmeans <- rowsum (X * weights, grouping)
  center.x <- colMeans (Xmeans)
  Ymeans <- rowsum (Y * weights, grouping)
  center.y <- colMeans (Ymeans)
  list (X = X,
        Y = Y,
        grouping = grouping,
#        subset = subset,
        center.x = center.x,
        center.y = center.y)
}
.test (.ldapreproc) <- function (){
  X <- as.matrix (iris [,c ("Sepal.Length", "Sepal.Width", "Petal.Length", "Petal.Width")])
  grp <- iris$Species
  tmp <- .ldapreproc (X = X, grouping = grp)
  lda <- lda (x = X, grouping = grp)
  pls <- kernelpls.fit (X = X, Y = tmp$Y, ncomp = 1)
  
  ## calculation of Y
  checkEquals (hardclasses (tmp$Y), grp)
  ## center.x
  checkEqualsNumeric (tmp$center.x, colMeans (lda$means))
  ## center.x is further tested indirectly in plslda and pcalda tests correct center.x leads to
  ## colMeans (lda$means)) == 0
  ## center.y
  checkEqualsNumeric (tmp$center.y, pls$Ymeans)  
  
  ## calculation of grouping
  tmp <- .ldapreproc (X = X, Y = factor2matrix (grp))
  checkEquals (tmp$grouping, grp)
 
  ## na.action
  grp.na <- sample (length (grp), 10)
  grp [grp.na] <- NA
  x.na <- sample (prod (dim (X)), 10)
  X [x.na] <- NA
  ## tmp <- .ldapreproc (X = X, grouping = grp)
  ## checkTrue (all (is.na (tmp$center.x)))
  ## checkTrue (all (is.na (tmp$center.y)))
  ## checkEquals (tmp$X, X)
  ## checkEquals (tmp$grouping, grp)
  ## tmp <- .ldapreproc (X = X, grouping = grp, na.action = na.pass)
  ## checkTrue (all (is.na (tmp$center.x)))
  ## checkTrue (all (is.na (tmp$center.y)))
  ## checkEquals (tmp$X, X)
  ## checkEquals (tmp$grouping, grp)
  
  ## tmp <- .ldapreproc (X = X, grouping = grp, na.action = na.exclude)
  ## tmp <- .ldapreproc (X = X, grouping = grp, na.action = na.omit)
  checkException (.ldapreproc (X = X, grouping = grp, na.action = na.fail))
}
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.