DMDselection {ClassifyR} | R Documentation

## Selection of Differential Distributions with Differences in Means or Medians and a Deviation Measure

### Description

Ranks features by largest Differences in Means/Medians and Deviations and chooses the features which have best resubstitution performance.

### Usage

      ## S4 method for signature 'matrix'
    DMDselection(measurements, classes, ...)
      ## S4 method for signature 'DataFrame'
    DMDselection(measurements, classes, datasetName, differences = c("both", "location", "scale"),
                 trainParams, predictParams, resubstituteParams, ...,
                 selectionName = "Differences of Medians and Deviations",
                 verbose = 3)
      ## S4 method for signature 'MultiAssayExperiment'
    DMDselection(measurements, targets = names(measurements), ...)

### Arguments

`measurements` | Either a `matrix`, `DataFrame` or `MultiAssayExperiment` containing the training data. For a `matrix`, the rows are features, and the columns are samples.
`classes` | A vector of class labels.
`targets` | If `measurements` is a `MultiAssayExperiment`, the names of the data tables to be used. `"clinical"` is also a valid value and specifies that numeric variables from the clinical data table will be used.
`...` | Variables not used by the `matrix` nor the `MultiAssayExperiment` method which are passed into and used by the `DataFrame` method or parameters for `getLocationsAndScales`, such as `location`, `scale`.
`datasetName` | Default: `"Differences of Medians and Deviations"`. A name for the data set used. Stored in the result.
`differences` | Default: `"both"`. Either `"both"`, `"location"`, or `"scale"`. The type of differences to consider. If both are considered then the absolute difference in location and the absolute difference in scale are summed.
`trainParams` | A container of class `TrainParams` describing the classifier to use for training.
`predictParams` | A container of class `PredictParams` describing how prediction is to be done.
`resubstituteParams` | An object of class `ResubstituteParams` describing the performance measure to consider and the numbers of top features to try for resubstitution classification.
`selectionName` | A name to identify this selection method by. Stored in the result.
`verbose` | Default: 3. A number between 0 and 3 for the amount of progress messages to give. This function only prints progress messages if the value is 3.

### Details

DMD is defined as sum(|location i - location j|) + sum(|scale i - scale j|), i not j, i < j. The subscripts denote the class for which the parameter is calculated for.

Data tables which consist entirely of non-numeric data cannot be analysed. If `measurements` is an object of class `MultiAssayExperiment`, the factor of sample classes must be stored in the DataFrame accessible by the `colData` function with column name `"class"`.

### Value

An object of class `SelectResult` or a list of such objects, if the classifier which was used for determining the specified performance metric made a number of prediction varieties.

### Author(s)

Dario Strbenac

### Examples

      # First 20 features have bimodal distribution for Poor class.
      # Other 80 features have normal distribution for both classes.
      genesMatrix <- sapply(1:25, function(sample)
                                  {
                                    randomMeans <- sample(c(8, 12), 20, replace = TRUE)
                                    c(rnorm(20, randomMeans, 1), rnorm(80, 10, 1))
                                  }
                           )
      genesMatrix <- cbind(genesMatrix, sapply(1:25, function(sample) rnorm(100, 10, 1)))
      classes <- factor(rep(c("Poor", "Good"), each = 25))

      resubstituteParams <- ResubstituteParams(nFeatures = seq(10, 100, 10),
                                               performanceType = "balanced error",
                                               better = "lower")
      DMDselection(genesMatrix, classes, datasetName = "Example",
                   trainParams = TrainParams(naiveBayesKernel),
                   predictParams = PredictParams(NULL),
                   resubstituteParams = resubstituteParams)

[Package ClassifyR version 2.8.0 Index]