pvcam {bapred}R Documentation

Proportion of variation induced by class signal estimated by Principal Variance Component Analysis


Principal Variance Component Analysis (PVCA) (Li et al, 2009) allows the estimation of the contribution of several sources of variability. pvcam uses it to estimate the proportion of variance in the data explained by the class signal. See below for a more detailed explanation of what the function does.


pvcam(xba, batch, y, threshold = 0.6)



matrix. The covariate matrix, raw or after batch effect adjustment. observations in rows, variables in columns.


factor. Batch variable. Currently has to have levels: '1', '2', '3' and so on.


factor. Binary target variable. Currently has to have levels '1' and '2'.


numeric. Minimal proportion of variance explained by the principal components used.


In PVCA, first principal component analysis is performed on the n x n covariance matrix between the observations. Then, using a random effects model the principal components are regressed on arbitrary factors of variability, such as "batch" and "(phenotype) class". Ultimately, estimated proportions of variance induced by each factor and that of the residual variance are obtained. In pvcam the factors included into the model are: "batch", "class" and the interaction of these two into. The metric calculated by pvcam is the proportion of variance explained by "class".

pvcam uses a slightly altered version of the function pvcaBatchAssess() from the Bioconductor package pvca. The latter was altered to take the covariate data as a matrix instead of as an object of class ExpressionSet.


Value of the metric


Higher values of this metric indicate a better preservation or exposure, respectively, of the biological signal of interest.


Roman Hornung


Li, J., Bushel, P., Chu, T.-M., Wolfinger, R.D. (2009) Principal variance components analysis: Estimating batch effects in microarray gene expression data. In: Scherer, A. (ed) Batch Effects and Noise in Microarray Experiments: Sources and Solutions, John Wiley & Sons, Chichester, UK.



Xadj <- ba(x=X, y=y, batch=batch, method = "combat")$xadj

pvcam(xba = X, batch = batch, y = y)
pvcam(xba = Xadj, batch = batch, y = y)

[Package bapred version 1.0 Index]