FIV <- function(X) { observaciones = dim(X)[1] variables = dim(X)[2] fiv=array(0,variables) for (i in 1:variables) { reg_aux = lm(X[,i]~X[,-i]) R2 = as.numeric(summary(reg_aux)[8]) fiv[i] = 1/(1-R2) } return(fiv) } longitud_unidad <- function(X) { observaciones = dim(X)[1] variables = dim(X)[2] Xlu=array(,c(observaciones,variables)) for (i in 1:variables) { for (j in 1:observaciones) { Xlu[j,i] = X[j,i]/sqrt(crossprod(X[,i])) } } return(Xlu) } NC <- function(X) { XX = crossprod(X) autovalores = eigen(XX)[[1]] auto_min = min(autovalores) auto_max = max(autovalores) nc = sqrt(auto_max/auto_min) return(nc) }