Dear Yanqin For PCA of microarary data, have a look at ord funtion in the bioconductor package made4. It simplified running PCA (and correspondence analysis) on microarray data. It takes input data in many formats including AffyBatch, ExprSet, data.frame etc. To run a PCA pca.res<- ord(data, "pca") plot(pca.res) Regards Aedin