Revision 923d0cc1f43c36debbea1f1fb06e4de448065380 authored by Gilles Raiche on 31 August 2019, 09:11:55 UTC, committed by cran-robot on 31 August 2019, 09:11:55 UTC
1 parent 592b098
Raw File
eigenComputes.r
eigenComputes <-
function(x, cor=TRUE, model="components", ...) {
 dataType <- eigenFrom(x)

 if (model == "components") {
  res <- switch(dataType,
   eigenvalues = as.vector(x),
   correlation = {if (cor == FALSE) eigen(x)$values           else  eigen(cov2cor(x))$values},
   data        = {if (cor == TRUE)  eigen(cor(x, ...))$values else  eigen(cov(x, ...))$values}
   )
  }
  
 if (model == "factors") {
  res <- switch(dataType,
   eigenvalues = as.vector(x),
   correlation = {if (cor == FALSE) eigen(corFA(x, method="ginv"))$values else   eigen(cov2cor(corFA(x, method="ginv")))$values},
   data        = {if (cor == TRUE)  eigen(corFA(cor(x, ...),method="ginv"))$values else  eigen(corFA(cov(x, ...),method="ginv"))$values}
   )
  }
 return(res)
 }
back to top