tests/testthat/test-expVar-prcomp.R

library(ribiosPlot)
library(testthat)
library(ribiosUtils)
library(stats)

myMatrix <- matrix(rnorm(9), nrow=3)
myPrcomp <- stats::prcomp(myMatrix, scale=TRUE)
myExpPrcompEv <- myPrcomp$sdev^2/sum(myPrcomp$sdev^2)


test_that("expVar works for prcomp objects", {
  expect_identical(expVar(myPrcomp),
                   myExpPrcompEv)
})

test_that("expVarLabels works for prcomp objects", {
  expect_identical(expVarLabel(myPrcomp, choices=NULL, compact=FALSE),
                   sprintf(
                     "Principal component %d (%s variance explained)",
                     seq(along = myExpPrcompEv),
                     ribiosUtils::percentage(myExpPrcompEv)
                   ))
  expect_identical(expVarLabel(myPrcomp, choices=c(1,3), compact=FALSE),
                   sprintf(
                     "Principal component %d (%s variance explained)",
                     c(1,3),
                     ribiosUtils::percentage(myExpPrcompEv[c(1,3)])
                   ))
  expect_identical(expVarLabel(myPrcomp, choices=NULL, compact=TRUE),
                   sprintf(
                     "PC%d (%s)",
                     seq(along = myExpPrcompEv),
                     ribiosUtils::percentage(myExpPrcompEv)
                   ))
  expect_identical(expVarLabel(myPrcomp, choices=c(1,3), compact=TRUE),
                   sprintf(
                     "PC%d (%s)",
                     c(1,3),
                     ribiosUtils::percentage(myExpPrcompEv[c(1,3)])
                   ))
})
bedapub/ribiosPlot documentation built on Sept. 1, 2023, 6:50 p.m.