mixOmicsTeam / mixOmics

Development repository for the Bioconductor package 'mixOmics '
http://mixomics.org/
153 stars 51 forks source link

plotVar() not functioning on multiblock (s)PLS1 #237

Closed Max-Bladen closed 1 year ago

Max-Bladen commented 1 year ago

🐞 Describe the bug:

When running plotVar() on a block.pls or block.spls object with only 1 feature in the Y data.frame, the following error is raised:

No variable selected on at least one block

This should not be the case.


πŸ” reprex results from reproducible example including sessioninfo():

data(breast.TCGA)
X <- list(miRNA = breast.TCGA$data.train$mirna,
         mRNA = breast.TCGA$data.train$mrna)
Y <- matrix(breast.TCGA$data.train$protein[,1], ncol=1)
rownames(Y) <- rownames(X$miRNA)

block.pls.result <- block.pls(X, Y, design = "full")
plotVar(block.pls.result)
#> Error in plotVar(block.pls.result): No variable selected on at least one block

Created on 2022-09-08 with reprex v2.0.2

Session info ``` r sessioninfo::session_info() #> ─ Session info ─────────────────────────────────────────────────────────────── #> setting value #> version R version 4.2.1 (2022-06-23 ucrt) #> os Windows 10 x64 (build 19044) #> system x86_64, mingw32 #> ui RTerm #> language (EN) #> collate English_United States.utf8 #> ctype English_United States.utf8 #> tz Australia/Sydney #> date 2022-09-08 #> pandoc 2.18 @ D:/Programs/Work Programs/RStudio/bin/quarto/bin/tools/ (via rmarkdown) #> #> ─ Packages ─────────────────────────────────────────────────────────────────── #> package * version date (UTC) lib source #> assertthat 0.2.1 2019-03-21 [1] CRAN (R 4.2.1) #> BiocParallel 1.30.3 2022-06-07 [1] Bioconductor #> cli 3.3.0 2022-04-25 [1] CRAN (R 4.2.1) #> codetools 0.2-18 2020-11-04 [1] CRAN (R 4.2.1) #> colorspace 2.0-3 2022-02-21 [1] CRAN (R 4.2.1) #> corpcor 1.6.10 2021-09-16 [1] CRAN (R 4.2.0) #> DBI 1.1.3 2022-06-18 [1] CRAN (R 4.2.1) #> digest 0.6.29 2021-12-01 [1] CRAN (R 4.2.1) #> dplyr 1.0.9 2022-04-28 [1] CRAN (R 4.2.1) #> ellipse 0.4.3 2022-05-31 [1] CRAN (R 4.2.1) #> evaluate 0.16 2022-08-09 [1] CRAN (R 4.2.1) #> fansi 1.0.3 2022-03-24 [1] CRAN (R 4.2.1) #> fastmap 1.1.0 2021-01-25 [1] CRAN (R 4.2.1) #> fs 1.5.2 2021-12-08 [1] CRAN (R 4.2.1) #> generics 0.1.3 2022-07-05 [1] CRAN (R 4.2.1) #> ggplot2 * 3.3.6 2022-05-03 [1] CRAN (R 4.2.1) #> ggrepel 0.9.1 2021-01-15 [1] CRAN (R 4.2.1) #> glue 1.6.2 2022-02-24 [1] CRAN (R 4.2.1) #> gridExtra 2.3 2017-09-09 [1] CRAN (R 4.2.1) #> gtable 0.3.0 2019-03-25 [1] CRAN (R 4.2.1) #> highr 0.9 2021-04-16 [1] CRAN (R 4.2.1) #> htmltools 0.5.3 2022-07-18 [1] CRAN (R 4.2.1) #> igraph 1.3.4 2022-07-19 [1] CRAN (R 4.2.1) #> knitr 1.40 2022-08-24 [1] CRAN (R 4.2.1) #> lattice * 0.20-45 2021-09-22 [1] CRAN (R 4.2.1) #> lifecycle 1.0.1 2021-09-24 [1] CRAN (R 4.2.1) #> magrittr 2.0.3 2022-03-30 [1] CRAN (R 4.2.1) #> MASS * 7.3-58.1 2022-08-03 [1] CRAN (R 4.2.1) #> Matrix 1.4-1 2022-03-23 [1] CRAN (R 4.2.1) #> matrixStats 0.62.0 2022-04-19 [1] CRAN (R 4.2.1) #> mixOmics * 6.20.0 2022-04-26 [1] Bioconductor (R 4.2.0) #> munsell 0.5.0 2018-06-12 [1] CRAN (R 4.2.1) #> pillar 1.8.1 2022-08-19 [1] CRAN (R 4.2.1) #> pkgconfig 2.0.3 2019-09-22 [1] CRAN (R 4.2.1) #> plyr 1.8.7 2022-03-24 [1] CRAN (R 4.2.1) #> purrr 0.3.4 2020-04-17 [1] CRAN (R 4.2.1) #> R.cache 0.16.0 2022-07-21 [1] CRAN (R 4.2.1) #> R.methodsS3 1.8.2 2022-06-13 [1] CRAN (R 4.2.0) #> R.oo 1.25.0 2022-06-12 [1] CRAN (R 4.2.0) #> R.utils 2.12.0 2022-06-28 [1] CRAN (R 4.2.1) #> R6 2.5.1 2021-08-19 [1] CRAN (R 4.2.1) #> rARPACK 0.11-0 2016-03-10 [1] CRAN (R 4.2.1) #> RColorBrewer 1.1-3 2022-04-03 [1] CRAN (R 4.2.0) #> Rcpp 1.0.9 2022-07-08 [1] CRAN (R 4.2.1) #> reprex 2.0.2 2022-08-17 [1] CRAN (R 4.2.1) #> reshape2 1.4.4 2020-04-09 [1] CRAN (R 4.2.1) #> rlang 1.0.4 2022-07-12 [1] CRAN (R 4.2.1) #> rmarkdown 2.16 2022-08-24 [1] CRAN (R 4.2.1) #> RSpectra 0.16-1 2022-04-24 [1] CRAN (R 4.2.1) #> rstudioapi 0.14 2022-08-22 [1] CRAN (R 4.2.1) #> scales 1.2.1 2022-08-20 [1] CRAN (R 4.2.1) #> sessioninfo 1.2.2 2021-12-06 [1] CRAN (R 4.2.1) #> stringi 1.7.8 2022-07-11 [1] CRAN (R 4.2.1) #> stringr 1.4.1 2022-08-20 [1] CRAN (R 4.2.1) #> styler 1.7.0 2022-03-13 [1] CRAN (R 4.2.1) #> tibble 3.1.8 2022-07-22 [1] CRAN (R 4.2.1) #> tidyr 1.2.0 2022-02-01 [1] CRAN (R 4.2.1) #> tidyselect 1.1.2 2022-02-21 [1] CRAN (R 4.2.1) #> utf8 1.2.2 2021-07-24 [1] CRAN (R 4.2.1) #> vctrs 0.4.1 2022-04-13 [1] CRAN (R 4.2.1) #> withr 2.5.0 2022-03-03 [1] CRAN (R 4.2.1) #> xfun 0.32 2022-08-10 [1] CRAN (R 4.2.1) #> yaml 2.3.5 2022-02-21 [1] CRAN (R 4.2.0) #> #> [1] D:/Programs/Work Programs/R-4.2.1/library #> #> ────────────────────────────────────────────────────────────────────────────── ```

πŸ€” Expected behavior:

Function should run as normal, producing a correlation circle plot.


πŸ’‘ Possible solution:

The section which raises this error checks the nrow of each item in the cord.X list. The last item in this list (corresponding to the Y dataframe) lacks any information. Rectifying this should resolve the issue