randomForestInterface {ClassifyR} | R Documentation

## An Interface for randomForest Package's randomForest Function

### Description

A random forest classifier builds multiple decision trees and uses the predictions of the trees to determine a single prediction for each test sample.

### Usage

      ## S4 method for signature 'matrix'
    randomForestTrainInterface(measurements, classes, ...)
      ## S4 method for signature 'DataFrame'
    randomForestTrainInterface(measurements, classes, ..., verbose = 3)
      ## S4 method for signature 'MultiAssayExperiment'
    randomForestTrainInterface(measurements, targets = names(measurements), ...)
      ## S4 method for signature 'randomForest,matrix'
    randomForestPredictInterface(forest, test, ...)
      ## S4 method for signature 'randomForest,DataFrame'
    randomForestPredictInterface(forest, test, ...,
                                              returnType = c("class", "score", "both"), verbose = 3)
      ## S4 method for signature 'randomForest,MultiAssayExperiment'
    randomForestPredictInterface(forest, test, targets = names(test), ...)

### 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` | Either a vector of class labels of class `factor` of the same length as the number of samples in `measurements` or if the measurements are of class `DataFrame` a character vector of length 1 containing the column name in `measurement` is also permitted. Not used if `measurements` is a `MultiAssayExperiment` object.
`forest` | A trained random forest classifier, as created by `randomForestTrainInterface`, which has the same form as the output of `randomForest`.
`test` | An object of the same class as `measurements` with no samples in common with `measurements` and the same number of features as it.
`targets` | If `measurements` is a `MultiAssayExperiment`, the names of the data tables to be used. `"clinical"` is also a valid value and specifies that integer 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 (e.g. `verbose`) or options which are accepted by the `randomForest` or `predict.randomForest` functions.
`returnType` | Default: `"class"`. Either `"class"`, `"score"` or `"both"`. Sets the return value from the prediction to either a vector of class labels, score for a sample belonging to the second class, as determined by the factor levels, or both labels and scores in a `data.frame`.
`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

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

For `randomForestTrainInterface`, the trained random forest. For `randomForestPredictInterface`, either a factor vector of predicted classes, a matrix of scores for each class, or a table of both the class labels and class scores, depending on the setting of `returnType`.

### Author(s)

Dario Strbenac

### Examples

      if(require(randomForest))
      {
        # Genes 76 to 100 have differential expression.
        genesMatrix <- sapply(1:25, function(sample) c(rnorm(100, 9, 2)))
        genesMatrix <- cbind(genesMatrix, sapply(1:25, function(sample)
                                          c(rnorm(75, 9, 2), rnorm(25, 14, 2))))
        classes <- factor(rep(c("Poor", "Good"), each = 25))
        colnames(genesMatrix) <- paste("Sample", 1:ncol(genesMatrix), sep = '')
        rownames(genesMatrix) <- paste("Gene", 1:nrow(genesMatrix), sep = '')
        trainingSamples <- c(1:20, 26:45)
        testingSamples <- c(21:25, 46:50)

        trained <- randomForestTrainInterface(genesMatrix[, trainingSamples],
                                              classes[trainingSamples])
        predicted <- randomForestPredictInterface(trained, genesMatrix[, testingSamples])
      }

[Package ClassifyR version 2.8.0 Index]