## ----setup, include = FALSE---------------------------------------------------
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)
library(sigPCA)

## ----white-noise--------------------------------------------------------------
set.seed(123)
X_white <- matrix(rnorm(1000), nrow = 100, ncol = 10)
result_white <- sigPCA(X_white, method = "both", num_permutations = 100)
result_white$mp$significant_components

## ----plot-white---------------------------------------------------------------
plot_sigPCA(result_white$mp$eigenvalues, result_white$mp$mp_bounds)

## ----correlated---------------------------------------------------------------
set.seed(123)
  {
    n <- 100
    p <- 10
    k <- 2
    latent <- matrix(rnorm(n * k, mean = 3), nrow = n, ncol = k)
    loadings <- matrix(rnorm(p * k), nrow = k, ncol = p)
    noise <- matrix(rnorm(n * p, sd = 0.3), nrow = n, ncol = p)
    x <- latent %*% loadings + noise
    result_signal <- sigPCA(x, method = "mp")
  }

## ----plot-signal--------------------------------------------------------------
plot_sigPCA(result_signal$mp$eigenvalues, result_signal$mp$mp_bounds)

## ----permutation--------------------------------------------------------------
result_signal$perm$pvalues

