Learn R Programming

genefilter (version 1.54.2)

genefinder: Finds genes that have similar patterns of expression.

Description

Given an ExpressionSet or a matrix of gene expressions, and the indices of the genes of interest, genefinder returns a list of the numResults closest genes. The user can specify one of the standard distance measures listed below. The number of values to return can be specified. The return value is a list with two components: genes (measured through the desired distance method) to the genes of interest (where X is the number of desired results returned) and their distances.

Usage

genefinder(X, ilist, numResults=25, scale="none", weights, method="euclidean")

Arguments

X
A numeric matrix where columns represent patients and rows represent genes.
ilist
A vector of genes of interest. Contains indices of genes in matrix X.
numResults
Number of results to display, starting from the least distance to the greatest.
scale
One of "none", "range", or "zscore". Scaling is carried out separately on each row.
weights
A vector of weights applied across the columns of X. If no weights are supplied, no weights are applied.
method
One of "euclidean", "maximum", "manhattan", "canberra", "correlation", "binary".

Value

  • The returned value is a list containing an entry for each gene specified in ilist. Each list entry contains an array of distances for that gene of interest.

Details

If the scale option is "range", then the input matrix is scaled using genescale(). If it is "zscore", then the input matrix is scaled using the scale builtin with no arguments.

The method option specifies the metric used for gene comparisons. The metric is applied, row by row, for each gene specified in ilist.

The "correlation" option for the distance method will return a value equal to 1-correlation(x).

See dist for a more detailed description of the distances.

See Also

genescale

Examples

Run this code
set.seed(12345)

#create some fake expression profiles
m1 <- matrix (1:12, 4, 3)
v1 <- 1
nr <- 2

#find the 2 rows of m1 that are closest to row 1
genefinder (m1, v1, nr, method="euc")

v2 <- c(1,3)
genefinder (m1, v2, nr)

genefinder (m1, v2, nr, scale="range")

genefinder (m1, v2, nr, method="manhattan")

m2 <- matrix (rnorm(100), 10, 10)
v3 <- c(2, 5, 6, 8)
nr2 <- 6
genefinder (m2, v3, nr2, scale="zscore")

<testonly>m1 <- matrix(rnorm(1000),100,10)
	v1 <- c(3,5,8,42)
	nr2 <- 35
	genefinder(m1,v1,nr2,method="euclidean")
	genefinder(m1,v1,nr2,method="maximum")
	genefinder(m1,v1,nr2,method="canberra")
	genefinder(m1,v1,nr2,method="binary")
	genefinder(m1,v1,nr2,method="correlation")
	
	m2 <- matrix(rnorm(10000),1000,10)
	v1 <- c(1,100,563,872,921,3,52,95,235,333)
	nr <- 100
	genefinder(m2,v1,nr2,scale="zscore",method="euclidean")
	genefinder(m2,v1,nr2,scale="range",method="maximum")
	genefinder(m2,v1,nr2,scale="zscore",method="canberra")
	genefinder(m2,v1,nr2,scale="range",method="binary")
	genefinder(m2,v1,nr2,scale="zscore",method="correlation")</testonly>

Run the code above in your browser using DataLab