Classify matrix variate observations in conjunction with matrixlda.

# S3 method for class 'matrixlda'
predict(object, newdata, prior = object$prior, ...)

Arguments

object

object of class matrixlda

newdata

array or list of new observations to be classified. If newdata is missing, an attempt will be made to retrieve the data used to fit the matrixlda object.

prior

The prior probabilities of the classes, by default the proportions in the training set or what was set in the call to matrixlda.

...

arguments based from or to other methods

Value

Returns a list containing the following components:

class

The MAP classification (a factor)

posterior

posterior probabilities for the classes

Details

This function is a method for the generic function predict() for class "matrixlda". It can be invoked by calling predict(x) for an object x of the appropriate class.

Examples

set.seed(20180221)
# construct two populations of 3x4 random matrices with different means
A <- rmatrixnorm(30, mean = matrix(0, nrow = 3, ncol = 4))
B <- rmatrixnorm(30, mean = matrix(1, nrow = 3, ncol = 4))
C <- array(c(A, B), dim = c(3, 4, 60)) # combine together
groups <- c(rep(1, 30), rep(2, 30)) # define groups
prior <- c(.5, .5) # set prior
D <- matrixlda(C, groups, prior)
predict(D)$posterior[1:10, ]
#>            [,1]         [,2]
#>  [1,] 0.9999948 5.224846e-06
#>  [2,] 0.6942637 3.057363e-01
#>  [3,] 0.9999813 1.869044e-05
#>  [4,] 0.9999984 1.602533e-06
#>  [5,] 0.9993887 6.113309e-04
#>  [6,] 0.8503901 1.496099e-01
#>  [7,] 0.9999956 4.433919e-06
#>  [8,] 0.9999997 2.543128e-07
#>  [9,] 0.7600474 2.399526e-01
#> [10,] 0.9535620 4.643805e-02

## S3 method for class 'matrixlda'