Plot Eigenvalues

plotEigenvalues(x, cumulative = FALSE, normalize = FALSE, ...)

Arguments

x

output of compute_optimal_encoding function

cumulative

if TRUE, plot the cumulative eigenvalues

normalize

if TRUE eigenvalues are normalized for summing to 1

...

geom_point parameters

Value

a ggplot object that can be modified using ggplot2 package.

See also

Author

Quentin Grimonprez

Examples

# Simulate the Jukes-Cantor model of nucleotide replacement
K <- 4
Tmax <- 6
PJK <- matrix(1 / 3, nrow = K, ncol = K) - diag(rep(1 / 3, K))
lambda_PJK <- c(1, 1, 1, 1)
d_JK <- generate_Markov(n = 10, K = K, P = PJK, lambda = lambda_PJK, Tmax = Tmax)
d_JK2 <- cut_data(d_JK, Tmax)

# create basis object
m <- 6
b <- create.bspline.basis(c(0, Tmax), nbasis = m, norder = 4)
# \donttest{
# compute encoding
encoding <- compute_optimal_encoding(d_JK2, b, computeCI = FALSE, nCores = 1)
#> ######### Compute encoding #########
#> Number of individuals: 10
#> Number of states: 4
#> Basis type: bspline
#> Number of basis functions: 6
#> Number of cores: 1
#> 
  |                                                  | 0 % elapsed=00s   
  |=========                                         | 17% elapsed=00s, remaining~00s
  |=================                                 | 33% elapsed=00s, remaining~00s
  |=========================                         | 50% elapsed=00s, remaining~00s
  |==================================                | 67% elapsed=00s, remaining~00s
  |==========================================        | 83% elapsed=00s, remaining~00s
  |==================================================| 100% elapsed=00s, remaining~00s
#> 
#> DONE in 0.14s
#> ---- Compute U matrix:
#> 
  |                                                  | 0 % elapsed=00s   
  |===                                               | 5 % elapsed=00s, remaining~01s
  |=====                                             | 10% elapsed=00s, remaining~01s
  |========                                          | 14% elapsed=00s, remaining~01s
  |==========                                        | 19% elapsed=00s, remaining~01s
  |============                                      | 24% elapsed=00s, remaining~01s
  |===============                                   | 29% elapsed=00s, remaining~01s
  |=================                                 | 33% elapsed=00s, remaining~00s
  |====================                              | 38% elapsed=00s, remaining~00s
  |======================                            | 43% elapsed=00s, remaining~00s
  |========================                          | 48% elapsed=00s, remaining~00s
  |===========================                       | 52% elapsed=00s, remaining~00s
  |=============================                     | 57% elapsed=00s, remaining~00s
  |===============================                   | 62% elapsed=00s, remaining~00s
  |==================================                | 67% elapsed=01s, remaining~00s
  |====================================              | 71% elapsed=01s, remaining~00s
  |=======================================           | 76% elapsed=01s, remaining~00s
  |=========================================         | 81% elapsed=01s, remaining~00s
  |===========================================       | 86% elapsed=01s, remaining~00s
  |==============================================    | 90% elapsed=01s, remaining~00s
  |================================================  | 95% elapsed=01s, remaining~00s
  |==================================================| 100% elapsed=01s, remaining~00s
#> 
#> DONE in 0.82s
#> ---- Compute encoding: 
#> DONE in 0s
#> Run Time: 0.98s

# plot eigenvalues
plotEigenvalues(encoding, cumulative = TRUE, normalize = TRUE)


# modify the plot using ggplot2
library(ggplot2)
plotEigenvalues(encoding, shape = 23) +
  labs(caption = "Jukes-Cantor model of nucleotide replacement")

# }