dSVDsignif
is supposed to obtain gene signficance from the given
gene-sample matrix according to singular value decomposition
(SVD)-based method. The method includes: 1) singular value
decomposition of the input matrix; 2) determination of the eigens in
consideration (if not given); 3) construction of the gene-specific
project vector based on the considered eigens; 4) calculation of the
distance statistic from the projection vector to zero point vector; and
5) based on distance statistic to obtain the gene significance.
dSVDsignif(data, num.eigen = NULL, pval.eigen = 0.01, signif = c("fdr", "pval"), orient.permutation = c("row", "column", "both"), num.permutation = 100, fdr.procedure = c("stepup", "stepdown"), verbose = T)
a vector storing gene significance
none
# 1) generate data with an iid matrix of 1000 x 9 data <- cbind(matrix(rnorm(1000*3,mean=0,sd=1), nrow=1000, ncol=3), matrix(rnorm(1000*3,mean=0.5,sd=1), nrow=1000, ncol=3), matrix(rnorm(1000*3,mean=-0.5,sd=1), nrow=1000, ncol=3)) # 2) calculate the significance according to SVD # using "fdr" significance fdr <- dSVDsignif(data, signif="fdr", num.permutation=10)Start at 2018-01-19 12:36:58 First, singular value decomposition of the input matrix (with 1000 rows and 9 columns)... Second, determinate the eigens... via automatically deciding on the number of dominant eigens under the cutoff of 1.00e-02 pvalue number of the eigens in consideration: 1 Third, construct the gene-specific projection vector,and calculate distance statistics... Finally, obtain gene significance (fdr) based on 10 permutations... doing row-wise permutations... estimating fdr... 1 (out of 1000) at 2018-01-19 12:36:59 100 (out of 1000) at 2018-01-19 12:36:59 200 (out of 1000) at 2018-01-19 12:36:59 300 (out of 1000) at 2018-01-19 12:36:59 400 (out of 1000) at 2018-01-19 12:36:59 500 (out of 1000) at 2018-01-19 12:36:59 600 (out of 1000) at 2018-01-19 12:36:59 700 (out of 1000) at 2018-01-19 12:36:59 800 (out of 1000) at 2018-01-19 12:36:59 900 (out of 1000) at 2018-01-19 12:36:59 1000 (out of 1000) at 2018-01-19 12:36:59 using stepup procedure... Finish at 2018-01-19 12:36:59 Runtime in total is: 1 secs# using "pval" significance pval <- dSVDsignif(data, signif="pval", num.permutation=10)Start at 2018-01-19 12:36:59 First, singular value decomposition of the input matrix (with 1000 rows and 9 columns)... Second, determinate the eigens... via automatically deciding on the number of dominant eigens under the cutoff of 1.00e-02 pvalue number of the eigens in consideration: 1 Third, construct the gene-specific projection vector,and calculate distance statistics... Finally, obtain gene significance (p-value) based on 10 of row-wise permutations... Finish at 2018-01-19 12:37:00 Runtime in total is: 1 secs