PUMA Principal Components Analysis

Share:

Description

This function carries out principal components analysis (PCA), taking into account not only the expression levels of genes, but also the variability in these expression levels.

The various other pumaPCA... functions are called during the execution of pumaPCA

Usage

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
pumaPCA(
    eset
,   latentDim           = 	if(dim(exprs(eset))[2] <= 3)
 								dim(exprs(eset))[[2]]-1
							else
								3
,   sampleSize          =	if(dim(exprs(eset))[1] <= 1000)
								 dim(exprs(eset))[[1]]
							else
								1000	## Set to integer or FALSE for all
,   initPCA             =	TRUE	## Initialise parameters with PCA
,   randomOrder         =	FALSE	## Update parameters in random order
,   optimMethod         =	"BFGS"  ## ?optim for details of methods
,   stoppingCriterion   =	"deltaW"## can also be "deltaL"
,   tol                 =	1e-3	## Stop when delta update < this
,   stepChecks          =	FALSE	## Check likelihood after each update?
,   iterationNumbers    =	TRUE	## Show iteration numbers?
,   showUpdates         =	FALSE	## Show values after each update?
,   showTimings         =	FALSE	## Show timings after each update?
,   showPlot            =	FALSE	## Show projection plot after each update?
,   maxIters            =	500		## Number of EM iterations.
,   transposeData       =	FALSE	## Transpose eset matrices?
,   returnExpectations  =	FALSE
,   returnData          =	FALSE
,   returnFeedback      =	FALSE
,	pumaNormalize		=	TRUE
)

Arguments

eset

An object of class ExpressionSet.

latentDim

An integer specifying the number of latent dimensions (kind of like the number of principal components).

sampleSize

An integer specifying the number of probesets to sample (default is 1000), or FALSE, meaning use all the data.

initPCA

A boolean indicating whether to initialise using standard PCA (the default, and generally quicker and recommended).

randomOrder

A boolean indicating whether the parameters should be updated in a random order (this is generally not recommended, and the default is FALSE).

optimMethod

See ?optim for details of methods.

stoppingCriterion

If set to "deltaW" will stop when W changes by less than tol. If "deltaL" will stop when L (lambda) changes by less than tol.

tol

Tolerance value for stoppingCriterion.

stepChecks

Boolean. Check likelihood after each update?

iterationNumbers

Boolean. Show iteration numbers?

showUpdates

Boolean. Show values after each update?

showTimings

Boolean. Show timings after each update?

showPlot

Boolean. Show projection plot after each update?

maxIters

Integer. Maximum number of EM iterations.

transposeData

Boolean. Transpose eset matrices?

returnExpectations

Boolean. Return expectation values?

returnData

Boolean. Return expectation data?

returnFeedback

Boolean. Return feedback on progress of optimisation?

pumaNormalize

Boolean. Normalise data prior to running algorithm (recommended)?

Value

An object of class pumaPCARes

Author(s)

Richard D. Pearson

See Also

Related methods pumaDE, createDesignMatrix and createContrastMatrix

Examples

1
2
3
4
5
6
7
8
9
	#	Next 4 lines commented out to save time in package checks, and saved version used
    # if (require(affydata)) {
	#	data(Dilution)
	#	eset_mmgmos <- mmgmos(Dilution)
	# }
	data(eset_mmgmos)

	pumapca_mmgmos <- pumaPCA(eset_mmgmos)
	plot(pumapca_mmgmos)

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.