Last data update: 2014.03.03

R: PUMA Principal Components Analysis
pumaPCAR Documentation

PUMA Principal Components Analysis

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

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

	#	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)

Results


R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

> library(puma)
Loading required package: oligo
Loading required package: BiocGenerics
Loading required package: parallel

Attaching package: 'BiocGenerics'

The following objects are masked from 'package:parallel':

    clusterApply, clusterApplyLB, clusterCall, clusterEvalQ,
    clusterExport, clusterMap, parApply, parCapply, parLapply,
    parLapplyLB, parRapply, parSapply, parSapplyLB

The following objects are masked from 'package:stats':

    IQR, mad, xtabs

The following objects are masked from 'package:base':

    Filter, Find, Map, Position, Reduce, anyDuplicated, append,
    as.data.frame, cbind, colnames, do.call, duplicated, eval, evalq,
    get, grep, grepl, intersect, is.unsorted, lapply, lengths, mapply,
    match, mget, order, paste, pmax, pmax.int, pmin, pmin.int, rank,
    rbind, rownames, sapply, setdiff, sort, table, tapply, union,
    unique, unsplit

Loading required package: oligoClasses
Welcome to oligoClasses version 1.34.0
Loading required package: Biobase
Welcome to Bioconductor

    Vignettes contain introductory material; view with
    'browseVignettes()'. To cite Bioconductor, see
    'citation("Biobase")', and for packages 'citation("pkgname")'.

Loading required package: Biostrings
Loading required package: S4Vectors
Loading required package: stats4

Attaching package: 'S4Vectors'

The following objects are masked from 'package:base':

    colMeans, colSums, expand.grid, rowMeans, rowSums

Loading required package: IRanges
Loading required package: XVector
================================================================================
Welcome to oligo version 1.36.1
================================================================================
Loading required package: mclust
Package 'mclust' version 5.2
Type 'citation("mclust")' for citing this R package in publications.
> png(filename="/home/ddbj/snapshot/RGM3/R_BC/result/puma/pumaPCA.Rd_%03d_medium.png", width=480, height=480)
> ### Name: pumaPCA
> ### Title: PUMA Principal Components Analysis
> ### Aliases: pumaPCA pumaPCAEstep pumaPCALikelihoodBound
> ###   pumaPCALikelihoodCheck pumaPCANewtonUpdateLogSigma newtonStep
> ###   pumaPCARemoveRedundancy pumaPCASigmaGradient pumaPCASigmaObjective
> ###   pumaPCAUpdateCinv pumaPCAUpdateM pumaPCAUpdateMu pumaPCAUpdateW
> ### Keywords: multivariate
> 
> ### ** Examples
> 
> 	#	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)
Iteration number: 1
Iteration number: 2
Iteration number: 3
Iteration number: 4
> 	plot(pumapca_mmgmos)
> 
> 
> 
> 
> 
> dev.off()
null device 
          1 
>