Learn R Programming

hddplot (version 0.59)

orderFeatures: Order features, based on their ability to discriminate

Description

For each row of data, an F or (potentially) other statistic is calculated, using the function FUN, that measures the extent to which this variable separates the data into groups. This statistic is then used to order the rows.

Usage

orderFeatures(x, cl, subset = NULL, FUN = aovFbyrow, values =
FALSE)

Value

Either (values=FALSE) a vector that orders the rows, or (values=TRUE)

ord

a vector that orders the rows

stat

ordered values of the statistic

Arguments

x

Matrix; rows are features, and columns are observations ('samples')

cl

Factor that classifies columns into groups

subset

allows specification of a subset of the columns of data

FUN

specifies the function used to measure separation between groups

values

if TRUE, F-values as well as the ordering are returned

Author

John Maindonald

Examples

Run this code
mat <- matrix(rnorm(1000), ncol=20)
cl <- factor(rep(1:3, c(7,9,4)))
ord <- orderFeatures(mat, cl)

## The function is currently defined as
function(x, cl, subset=NULL, FUN=aovFbyrow, values=FALSE){
    if(dim(x)[2]!=length(cl))stop(paste("Dimension 2 of x is",
                  dim(x)[2], "differs from the length of cl (=",
                  length(cl)))
    ## Ensure that cl is a factor & has no redundant levels
    if(is.null(subset))
      cl <- factor(cl)
    else
      cl <- factor(cl[subset])
    if(is.null(subset))
      stat <- FUN(x, cl)
    else
      stat <- FUN(x[, subset], cl)
    ord <- order(-abs(stat))
    if(!values)ord else(list(ord=ord, stat=stat[ord]))
  }

Run the code above in your browser using DataLab