bigarx: Biplots clásicos GH, JK y HJ con un motor único

View source: R/bigarx.R

bigarxR Documentation

Biplots clásicos GH, JK y HJ con un motor único

Description

Calcula un biplot a partir de la descomposición en valores singulares (SVD) de la matriz preprocesada Z = U \Sigma V^T. Los métodos se diferencian solo en cómo se reparten los valores singulares entre filas y columnas:

Usage

bigarx(
  X,
  method = c("hj", "gh", "jk", "sqrt"),
  alpha = NULL,
  transform = c("standardize", "center", "double", "grand", "none"),
  ndim = 3,
  pca_scaling = FALSE,
  sup_rows = NULL,
  sup_cols = NULL,
  groups = NULL,
  fix_signs = TRUE,
  na_action = c("fail", "impute"),
  impute_rank = 2
)

Arguments

X

Matriz o data.frame numérico (individuos en filas, variables en columnas).

method

"hj" (por defecto), "gh", "jk" o "sqrt". Se ignora si se da alpha.

alpha

Número entre 0 y 1 para la familia general de Gabriel. NULL usa method.

transform

Preprocesamiento: "standardize" (por defecto), "center", "double", "grand" o "none". Ver transformaciones.

ndim

Número de ejes que se guardan en las coordenadas (por defecto 3, o el rango si es menor). Las medidas de calidad siempre usan todos los ejes.

pca_scaling

Si es TRUE, multiplica las filas por \sqrt{n-1} y divide las columnas por \sqrt{n-1} (Gabriel, 1971, ecuación 52). Con method = "gh" y transform = "center" la longitud de cada flecha aproxima la desviación típica de la variable y el producto escalar de dos flechas, su covarianza.

sup_rows

Matriz opcional de filas suplementarias (mismas columnas que X). Se proyectan sin intervenir en el cálculo de los ejes.

sup_cols

Matriz opcional de columnas suplementarias (mismas filas que X).

groups

Factor opcional de longitud nrow(X), solo para colorear o agrupar en los gráficos. No interviene en el cálculo.

fix_signs

Si es TRUE (por defecto), orienta cada eje para que la carga de mayor valor absoluto en V sea positiva. Hace los resultados reproducibles entre plataformas.

na_action

Qué hacer con los NA: "fail" (por defecto) detiene el análisis; "impute" los rellena con impute_svd() antes de calcular el biplot. Los valores imputados quedan en ⁠$imputation⁠.

impute_rank

Rango de la SVD usada para imputar (por defecto 2).

Details

Método Filas Columnas Calidad máxima para Referencia
"jk" U\Sigma V filas Gabriel (1971)
"gh" U V\Sigma columnas Gabriel (1971)
"sqrt" U\Sigma^{1/2} V\Sigma^{1/2} ninguna Gabriel (1971)
"hj" U\Sigma V\Sigma filas y columnas Galindo (1986)

Con alpha numérico se obtiene la familia general G = U\Sigma^{\alpha}, H = V\Sigma^{1-\alpha}; alpha = 1 es el JK, alpha = 0 el GH y alpha = 0.5 el SQRT. El HJ-Biplot no pertenece a esa familia: asigna \Sigma a ambos lados, por lo que el producto de marcadores no reproduce los datos, pero filas y columnas logran a la vez la máxima calidad de representación (Galindo, 1986).

Bondad de ajuste. Siguiendo a Gabriel (1971, ecuaciones 35, 66 y 67) y Galindo (1986, tabla 1), para un plano de dimensión 2:

  • matriz: (\sigma_1^2+\sigma_2^2)/\sum\sigma_k^2;

  • filas con G = U\Sigma^{\alpha}: \sum_{k\le 2}\sigma_k^{4\alpha}/\sum_k\sigma_k^{4\alpha};

  • columnas con H = V\Sigma^{1-\alpha}: \sum_{k\le 2}\sigma_k^{4(1-\alpha)}/\sum_k\sigma_k^{4(1-\alpha)}.

Así, en el GH las columnas tienen \sum\sigma^4 y las filas solo 2/r; en el JK es al revés; y en el HJ ambas tienen la medida en \sigma^4, que es la propiedad que lo define.

Value

Un objeto de clase "bigarx": lista con

rows, cols

Coordenadas de filas y columnas en los primeros ndim ejes.

sup_rows, sup_cols

Coordenadas de los elementos suplementarios, si se dieron.

d

Todos los valores singulares no nulos.

eigen

Valores propios \sigma_k^2.

inertia

Tabla con valor propio, porcentaje de inercia y porcentaje acumulado por eje.

quality_rows, quality_cols

Calidad de representación (en %) de cada elemento en cada eje: 100\, f_{ik}^2 / \sum_h f_{ih}^2. Suman 100 sobre todos los ejes y se acumulan sumando columnas.

contrib_rows, contrib_cols

Contribución (en %) de cada elemento a la construcción de cada eje: 100\, f_{ik}^2 / \sum_i f_{ik}^2.

gof

Bondad de ajuste en el plano 1-2 para la matriz, las filas y las columnas (ver Detalles).

method, alpha, preprocessing, groups, call

Información del ajuste.

References

Gabriel, K. R. (1971). The biplot graphic display of matrices with application to principal component analysis. Biometrika, 58(3), 453-467.

Galindo, M. P. (1986). Una alternativa de representación simultánea: HJ-Biplot. Qüestiió, 10(1), 13-23.

Examples

fit <- bigarx(USArrests, method = "hj")
fit
summary(fit)
plot(fit)

# La familia general de Gabriel
bigarx(USArrests, alpha = 0.5)

# Filas suplementarias
bigarx(USArrests[-(1:5), ], sup_rows = USArrests[1:5, ])

BiGaRx documentation built on Oct. 30, 2026, 1:07 a.m.