1概述

生物兴奋实现了几种有用的延迟matrix用于处理主要组件分析(PCA)的后端。该小插图旨在提供这些类别的概述,以及如何在其他软件包中使用它们,以提高PCA之前或之后的效率。

2延期蒙特里克斯班级

现在已经转移到了自己的scaledmatrix包裹。检查一下,很酷。

3Lowrankmatrix班级

一旦执行PCA,偶尔需要通过取下旋转向量和PC分数的交叉产生来获得输入矩阵的低级别近似。天真地这样做会导致形成与输入相同尺寸的密集矩阵。对于大型数据集,这可能是令人难以置信的记忆力消费。相反,我们可以构建Lowrankmatrix类似于模拟跨产品的输出而无需实际计算的类。

库(矩阵)a <-rsparsematrix(10000,1000,密度= 0.01)out <-runpca(a,rank = 5,bsparam = irlbaparam(deferred = true))#defer for速度。侦察<-Lowrankmatrix(Out $ rotation,out $ x)侦察
## <1000 x 10000>类Lowrankmatrix的矩阵,然后键入“ double”:## [,1] [,2] [,3] ... [,9999] ## [1,] -6.607941E -05-3.309660E-03 -2.509974E-04。0.0006029616 ## [2,] -7.794603E-04 -1.556315E-03 4.616200E-04。0.0028565633 ## [3,] -5.427039E-04 9.868561E-04 -1.863603E-03。-0.0031250885 ## [4,] -3.779873E -03 -8.401240E -05 -2.049993E -03。0.0028219708 ## [5,] 1.047063E-03 2.053309E-03 1.583250E-03。-0.0010803753 ## ...。。。。。 ## [996,] 4.693951e-03 -1.163595e-02 6.549077e-03 . -7.600833e-03 ## [997,] 2.929351e-04 -3.241344e-03 1.434765e-03 . 7.972958e-06 ## [998,] -2.177646e-03 -9.159261e-04 -1.859687e-03 . -1.206412e-04 ## [999,] -6.839735e-05 2.387144e-03 4.641709e-04 . 1.017343e-03 ## [1000,] 2.363621e-03 7.373208e-04 5.527227e-04 . -5.160522e-03 ## [,10000] ## [1,] 0.0049807597 ## [2,] 0.0003094826 ## [3,] 0.0045562989 ## [4,] 0.0026209457 ## [5,] -0.0034867483 ## ... . ## [996,] 9.029046e-03 ## [997,] 4.252964e-04 ## [998,] 5.170815e-03 ## [999,] -4.509402e-03 ## [1000,] 4.960680e-04

这对于方便地提取行或列向量而无需手动执行交叉产品很有用。一个Lowrankmatrix因此,与下游过程(例如,为可视化)直接互操作,这些过程期望与输入相同的尺寸矩阵。

摘要(侦察[,1])
##最小。第1次。中值平均第三次。最大限度。## -5.118E-02 -1.946E-03 -5.443E-05 -1.168E-04 1.766E​​-03 7.390E-02
摘要(侦察[2,])
##最小。第1次。中值平均第三次。最大限度。## -3.090E-02 -1.191E-03 -5.502E-05 0.000E+00 1.110E-03 5.060E-02

同样,大多数操作都会导致Lowrankmatrix优雅地崩溃延迟matrix用于进一步处理。

4残留matrix班级

现在已经转移到了自己的残留matrix包裹。检查一下,很酷。

5会话信息

SessionInfo()
## R版本4.1.0(2021-05-18)##平台:x86_64-pc-linux-gnu(64位)##运行下:ubuntu 20.04.2 lts ## ## ## ##矩阵产品:默认##blas:/home/biocbuild/bbs-3.13-bioc/r/lib/libblas.so ## lapack:/home/biocbuild/bbs-3.13-bioc/r/lib/libb/liblllapack.so ### ## locale:## lecul[1] lc_ctype = en_us.utf-8 lc_numeric = c ## [3] lc_time = en_gb lc_collat​​e = c ## [5] lc_monetary = en_us.utf-8 lc_messages = en_us.us.utf-8 ## [7] lc_paper = 7] lc_paper = 7]en_US.UTF-8 LC_NAME=C ## [9] LC_ADDRESS=C LC_TELEPHONE=C ## [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C ## ## attached base packages: ## [1] stats graphics grDevicesUTILS数据集方法基础## ##其他附件:## [1] Matrix_1.3-4 Biocparallel_1.26.0 Biocsingular_1.8.1 ## [4] Knitr_1.33 BiocStyle_2.20.20.20.0 ##附件):## [1] rcpp_1.0.6 bslib_0.2.5.1.1 compiler_4.1.0 ## [4] biocmanager_1.1.30.15 jquerylib_0.1.4 matrixgenerics_1.1.1.4.0 ## [7]10] evaluate_0.14 lattice_0.20-44 rlang_0。4。11## [13] DelayedArray_0.18.0 yaml_2.2.1 parallel_4.1.0 ## [16] xfun_0.23 stringr_1.4.0 sass_0.4.0 ## [19] S4Vectors_0.30.0 IRanges_2.26.0 stats4_4.1.0 ## [22] grid_4.1.0 R6_2.5.0 rmarkdown_2.8 ## [25] bookdown_0.22 irlba_2.3.3 magrittr_2.0.1 ## [28] htmltools_0.5.1.1 matrixStats_0.59.0 BiocGenerics_0.38.0 ## [31] beachmat_2.8.0 rsvd_1.0.5 ScaledMatrix_1.0.0 ## [34] stringi_1.6.2