| Type: | Package |
| Title: | Unified Classical and Canonical Biplots |
| Version: | 0.5.1 |
| Description: | Classical and canonical biplots computed from a single singular value decomposition (SVD) engine. Includes the two biplots of Gabriel (1971) <doi:10.1093/biomet/58.3.453>: the GH-biplot, named after its row markers G and column markers H, which preserves the column metric (covariances and correlations between variables), and the JK-biplot, named after its row markers J and column markers K, which preserves the row metric (distances between individuals). Also includes the HJ-biplot of Galindo (1986) https://upcommons.upc.edu/entities/publication/e17797dd-e20b-4fe5-b34a-f4cde41695ed, which combines the row markers J and the column markers H so that rows and columns are both represented with maximum quality. Options include configurable preprocessing, supplementary rows and columns, quality of representation, contributions, goodness of fit, bootstrap confidence intervals following Nieto, Galindo, Leiva and Vicente-Galindo (2014) <doi:10.15446/rce.v37n2spe.47944>, and imputation of missing values by iterative low-rank approximation following Gabriel and Zamir (1979) <doi:10.1080/00401706.1979.10489819>. The canonical biplot, also known as the multivariate analysis of variance (MANOVA) biplot, follows Amaro, Vicente-Villardon and Galindo (2004) https://www.redalyc.org/pdf/339/33908807.pdf. It is available for one-way designs and for two-way designs with total, row, column and interaction biplots. It comes with multivariate tests, pairwise comparisons with Hotelling's T-squared statistic, log-ratio transformations for compositional data and confidence regions for the group means. The regions are circles or the ellipses of Krzanowski (1989) <doi:10.1093/biomet/76.1.107>, computed consistently in the scale of the within-groups covariance matrix. Plots use base graphics or 'ggplot2'. |
| License: | GPL (≥ 3) |
| Encoding: | UTF-8 |
| Language: | es |
| Depends: | R (≥ 3.6.0) |
| Imports: | stats, graphics, grDevices, utils |
| Suggests: | ggplot2, generics, MASS, testthat (≥ 3.0.0) |
| Config/testthat/edition: | 3 |
| RoxygenNote: | 7.3.1 |
| NeedsCompilation: | no |
| Packaged: | 2026-10-20 01:54:11 UTC; kleberin22 |
| Author: | Kleber Garzón |
| Maintainer: | Kleber Garzón <garzon.kleber@gmail.com> |
| Repository: | CRAN |
| Date/Publication: | 2026-10-29 19:30:25 UTC |
BiGaRx: biplots clásicos GH, JK y HJ con un motor único
Description
El paquete reúne en una sola función, bigarx(), los biplots de Gabriel
(1971) y el HJ-Biplot de Galindo (1986), todos calculados con la misma
descomposición en valores singulares. Incluye preprocesamiento
configurable, elementos suplementarios, calidad de representación,
contribuciones y bondad de ajuste, con gráficos base o de 'ggplot2'.
Details
Funciones principales:
-
bigarx(): ajusta el biplot. -
summary.bigarx(): inercia, bondad de ajuste y calidades. -
plot.bigarx()yautoplot(): gráficos. -
predict.bigarx(): proyecta filas o columnas suplementarias. -
bigarx_tidy(): datos en formato largo para otros paquetes. -
as_bigarx(): reutiliza un objetoprcomp.
Author(s)
Maintainer: Kleber Garzón garzon.kleber@gmail.com (ORCID)
Authors:
Roxana Barrezueta (ORCID)
Convierte un objeto prcomp en un biplot de BiGaRx
Description
Reutiliza la SVD ya calculada por stats::prcomp() para obtener cualquiera
de los biplots de bigarx().
Usage
as_bigarx(x, ...)
## S3 method for class 'prcomp'
as_bigarx(
x,
method = c("hj", "gh", "jk", "sqrt"),
alpha = NULL,
ndim = 3,
fix_signs = TRUE,
...
)
Arguments
x |
Objeto de clase |
... |
No se usa. |
method, alpha, ndim, fix_signs |
Como en |
Value
Objeto "bigarx". No incluye elementos suplementarios.
Examples
p <- prcomp(USArrests, scale. = TRUE)
as_bigarx(p, method = "hj")
Gráfico de un biplot con 'ggplot2'
Description
Devuelve un objeto ggplot que se puede modificar con capas, temas y
escalas de 'ggplot2' como cualquier otro gráfico.
Usage
## S3 method for class 'bigarx'
autoplot(
object,
axes = c(1, 2),
col_scale = "auto",
min_quality = 0,
labels = TRUE,
row_col = "#0B7A72",
arrow_col = "#C2410C",
...
)
Arguments
object |
Objeto |
axes |
Ejes a representar. |
col_scale |
|
min_quality |
Calidad mínima (en %) en el plano para mostrar los
elementos. Un número se aplica a filas y columnas; un vector de dos,
|
labels |
Si es |
row_col, arrow_col |
Colores de los puntos y de las flechas. Si hay
|
... |
No se usa. |
Value
Un objeto ggplot.
Examples
if (requireNamespace("ggplot2", quietly = TRUE)) {
fit <- bigarx(USArrests)
ggplot2::autoplot(fit) + ggplot2::theme_minimal()
}
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 |
|
alpha |
Número entre 0 y 1 para la familia general de Gabriel. |
transform |
Preprocesamiento: |
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 |
sup_rows |
Matriz opcional de filas suplementarias (mismas columnas que
|
sup_cols |
Matriz opcional de columnas suplementarias (mismas filas que
|
groups |
Factor opcional de longitud |
fix_signs |
Si es |
na_action |
Qué hacer con los |
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,colsCoordenadas de filas y columnas en los primeros
ndimejes.sup_rows,sup_colsCoordenadas de los elementos suplementarios, si se dieron.
dTodos los valores singulares no nulos.
eigenValores propios
\sigma_k^2.inertiaTabla con valor propio, porcentaje de inercia y porcentaje acumulado por eje.
quality_rows,quality_colsCalidad 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_colsContribución (en %) de cada elemento a la construcción de cada eje:
100\, f_{ik}^2 / \sum_i f_{ik}^2.gofBondad de ajuste en el plano 1-2 para la matriz, las filas y las columnas (ver Detalles).
method,alpha,preprocessing,groups,callInformació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, ])
Biplot con bootstrap: intervalos de confianza
Description
Calcula intervalos de confianza bootstrap para los parámetros de un
biplot, siguiendo la metodología de Nieto, Galindo, Leiva y
Vicente-Galindo (2014), implementada originalmente en biplotbootGUI.
Usage
bigarx_boot(
X,
B = 1000,
method = c("hj", "gh", "jk", "sqrt"),
transform = c("standardize", "center", "double", "grand", "none"),
alpha = NULL,
axes = c(1, 2),
conf = 0.95,
ci = c("percentile", "normal"),
seed = NULL,
groups = NULL,
progress = interactive()
)
Arguments
X |
Matriz o data.frame numérico. |
B |
Número de réplicas bootstrap (por defecto 1000). |
method, transform, alpha |
Como en |
axes |
Plano en el que se calculan coordenadas, calidades y ángulos. |
conf |
Nivel de confianza (por defecto 0,95). |
ci |
|
seed |
Semilla opcional para reproducir los resultados. |
groups |
Factor opcional para colorear el biplot. |
progress |
Mostrar una barra de progreso. |
Details
Algoritmo. Se extraen B muestras de individuos (filas) con
reemplazo. En cada una se repite el preprocesamiento (por ejemplo, se
vuelve a estandarizar) y el biplot, y se guardan los parámetros:
-
inercia: porcentaje de inercia de cada eje; -
bondad: bondad de ajuste de la matriz en el plano; -
coordenada: coordenadas de cada variable en cada eje del plano; -
calidad: calidad de representación de cada variable en el plano; -
contribucion: contribución de cada variable a cada eje; -
angulo_variables: ángulo entre cada par de variables (en grados); -
angulo_eje: ángulo entre cada variable y cada eje (en grados).
Alineación de ejes. La SVD de cada réplica puede devolver un eje con
el signo invertido, lo que inflaría artificialmente los intervalos de las
coordenadas y de los ángulos con los ejes. Por eso, en cada réplica se
invierte el signo del eje si sus cargas apuntan en sentido contrario a las
del análisis original. Los ángulos entre variables no dependen del signo.
Si dos valores propios son muy parecidos, los ejes pueden intercambiarse
entre réplicas; conviene revisar inercia antes de interpretar.
Intervalos (ci):
-
"percentile"(boot-q): cuantiles\alpha/2y1-\alpha/2de las réplicas (Algoritmo 3 del artículo); -
"normal"(boot-t): estimación\pm z_{1-\alpha/2}por el error estándar bootstrap, cont_{n-1}sin < 25(Algoritmo 2).
Value
Un objeto "bigarx_boot" con
fitEl biplot original (
bigarx()).tabledata.frame con una fila por parámetro: tipo, elemento, eje, estimación, media y error estándar bootstrap, sesgo, límites del intervalo y método.
replicatesMatriz de réplicas (una fila por réplica, una columna por parámetro).
B,conf,ci,axesConfiguración.
References
Nieto, A. B., Galindo, M. P., Leiva, V. y Vicente-Galindo, P. (2014). A methodology for biplots based on bootstrapping with R. Revista Colombiana de Estadística, 37(2), 367-397. doi:10.15446/rce.v37n2spe.47944
Efron, B. y Tibshirani, R. J. (1993). An Introduction to the Bootstrap. Chapman & Hall.
Examples
bt <- bigarx_boot(USArrests, B = 200, seed = 1)
bt
summary(bt, type = "angulo_variables")
plot(bt)
plot(bt, type = "angulo_variables")
Biplot canónico (MANOVA biplot) de una vía
Description
Representa las diferencias entre grupos definidos de antemano y las variables responsables de esas diferencias, con regiones de confianza para las medias de cada grupo (Gabriel, 1972, 1995; Vicente-Villardón, 1992; Amaro, Vicente-Villardón y Galindo, 2004).
Usage
bigarx_canonical(
X,
groups,
transform = c("center", "standardize"),
conf = 0.95,
region = c("chi2", "t", "bonferroni", "ellipse", "ellipse_amaro", "boot"),
ndim = 3,
fix_signs = TRUE,
na_action = c("fail", "impute"),
impute_rank = 2,
singular = c("stop", "ginv"),
theta_est = c("uno_mas", "ms")
)
Arguments
X |
Matriz o data.frame numérico (individuos en filas). |
groups |
Factor con el grupo de cada fila. Se necesitan al menos tres grupos para obtener un plano. |
transform |
|
conf |
Nivel de confianza de las regiones (por defecto 0,95). |
region |
|
ndim |
Ejes que se guardan (por defecto 3, o menos si no hay más). |
fix_signs |
Orienta cada eje para que la carga mayor sea positiva. |
na_action, impute_rank |
Como en |
singular |
|
theta_est |
Estimador de theta en las elipses de Krzanowski: |
Details
Cálculo. Con M la matriz K \times p de medias de grupo
(datos centrados), N = \mathrm{diag}(n_k) y
W = E/(n-K) la matriz de covarianzas combinada dentro de los
grupos, se calcula la descomposición en valores singulares generalizada
N^{1/2} M W^{-1/2} = U D V^T
(en la notación de Amaro et al., R^{-1/2}\hat{D}E^{-1/2} con
R = N^{-1}). Los marcadores son:
medias de grupo:
P = M W^{-1/2} V = N^{-1/2} U D;variables:
Q = W^{1/2} V;individuos:
(X - \bar{x}) W^{-1/2} V.
Se cumple P Q^T = M: el producto escalar de una media y una variable
reproduce la media del grupo en esa variable. Los valores propios de
HE^{-1} del MANOVA son \theta_k = d_k^2/(n-K).
Escala. Se usa la covarianza combinada W (y no la matriz de sumas
de cuadrados E) para que, en el espacio canónico, la varianza dentro
de los grupos sea 1 en cada eje. Así los radios de confianza se expresan
directamente en las unidades del gráfico.
Regiones de confianza (region), centradas en la media de cada grupo:
-
"chi2": radio\sqrt{\chi^2_{2,1-\alpha}/n_k}; región conjunta en el plano (Amaro et al., 2008). -
"t": radiot_{n-K,1-\alpha/2}/\sqrt{n_k}; su proyección sobre una variable aproxima un intervalo univariante (Amaro et al., 2004). -
"bonferroni": como"t", con\alphadividido entre lasK(K-1)/2comparaciones por pares. -
"ellipse": elipses de Amaro, Vicente-Villardón y Galindo (2008), que además de la variabilidad de las medias incorporan la de los propios ejes canónicos, con las varianzas y covarianzas asintóticas de Krzanowski (1989) (ecuaciones 3 y 4 del artículo). Cada elipse cumple(z - p_i)^T \Sigma_i^{-1} (z - p_i) = \chi^2_{2,1-\alpha}. Vercanonical_regions()para sus ejes, ángulo y área.
Si las regiones de dos grupos no se tocan, los grupos difieren
significativamente. La prueba es conservadora: si se tocan, la diferencia
puede estar en otro eje, y conviene una prueba T^2 de Hotelling.
Value
Un objeto de clase c("bigarx_canonical", "bigarx") con
rowsCoordenadas de las medias de grupo.
colsMarcadores de las variables.
individualsCoordenadas de cada individuo.
radiusRadio de la región de confianza de cada grupo.
manovaLambda de Wilks, aproximación chi-cuadrado de Bartlett, grados de libertad y valor p.
canonicalValores propios de
HE^{-1}y correlaciones canónicas.inertia,gofInercia por eje y bondad de ajuste de las medias en el plano 1-2.
quality_rowsCalidad de representación de cada media (en %).
quality_colsCalidad de cada variable (en %): correlación al cuadrado, dentro de los grupos, entre la variable y el eje canónico.
structureEsas mismas correlaciones con signo.
References
Amaro, I. R., Vicente-Villardón, J. L. y Galindo, M. P. (2004). MANOVA Biplot para arreglos de tratamientos con dos factores basado en modelos lineales generales multivariantes. Interciencia, 29(1), 26-32.
Amaro, I. R., Vicente-Villardón, J. L. y Galindo, M. P. (2008). Contribuciones al MANOVA-Biplot: regiones de confianza alternativas. Revista Investigación Operacional, 29(3), 231-241.
Gabriel, K. R. (1972). Analysis of meteorological data by means of canonical decomposition and biplots. Journal of Applied Meteorology, 11, 1071-1077.
Examples
cb <- bigarx_canonical(iris[, 1:4], iris$Species)
cb
summary(cb)
plot(cb)
MANOVA biplot de dos factores
Description
Biplots total, de filas, de columnas y de interaccion para un arreglo de tratamientos con dos factores (Amaro, Vicente-Villardon y Galindo, 2004). El error se estima con el modelo completo con interaccion. Si un efecto tiene un solo grado de libertad, sus medias se proyectan sobre el biplot total.
Usage
bigarx_manova2(
X,
A,
B,
efecto = c("total", "filas", "columnas", "interaccion"),
transform = c("center", "standardize"),
conf = 0.95,
region = c("chi2", "t", "bonferroni", "ellipse", "ellipse_amaro", "boot"),
ndim = 3,
fix_signs = TRUE,
na_action = c("fail", "impute"),
impute_rank = 2,
singular = c("stop", "ginv"),
nombre_A = "A",
nombre_B = "B",
theta_est = c("uno_mas", "ms")
)
manova2_tests(sc, p_eff, nombre_A = "A", nombre_B = "B")
anova2_univariada(Z, A, B, nombre_A = "A", nombre_B = "B")
Arguments
X |
Matriz o data.frame numerico. |
A, B |
Factores (filas y columnas del diseno). |
efecto |
|
transform, conf, region, ndim, fix_signs, na_action, impute_rank, singular, theta_est |
Como en |
nombre_A, nombre_B |
Nombres de los factores para las tablas. |
sc |
Lista de matrices SCPC (uso interno). |
p_eff |
Rango efectivo de W. |
Z |
Datos preprocesados. |
Value
Un objeto "bigarx_canonical" con el elemento adicional diseno
(contrastes MANOVA por efecto y ANOVA univariantes).
References
Amaro, I. R., Vicente-Villardon, J. L. y Galindo, M. P. (2004). MANOVA Biplot para arreglos de tratamientos con dos factores basado en modelos lineales generales multivariantes. Interciencia, 29(1), 26-32.
Examples
# Diseno simulado: 3 x 3 niveles, 4 replicas por celda y 3 variables
set.seed(1)
d <- expand.grid(A = c("a1", "a2", "a3"), B = c("b1", "b2", "b3"), rep = 1:4)
X <- matrix(rnorm(nrow(d) * 3), ncol = 3, dimnames = list(NULL, c("y1", "y2", "y3")))
X[, 1] <- X[, 1] + as.integer(d$A)
X[, 2] <- X[, 2] + as.integer(d$B)
fit <- bigarx_manova2(X, d$A, d$B, efecto = "columnas")
fit$diseno$pruebas[fit$diseno$pruebas$contraste == "Wilks", ]
plot(fit)
Datos ordenados de un biplot
Description
Devuelve las coordenadas, calidades y contribuciones en formato largo (una fila por elemento), listo para 'ggplot2' u otros paquetes.
Usage
## S3 method for class 'bigarx_canonical'
bigarx_tidy(
x,
matrix = c("both", "rows", "cols", "eigen"),
axes = c(1, 2),
...
)
bigarx_tidy(x, ...)
## Default S3 method:
bigarx_tidy(
x,
matrix = c("both", "rows", "cols", "eigen"),
axes = c(1, 2),
...
)
## S3 method for class 'bigarx'
tidy(x, matrix = c("both", "rows", "cols", "eigen"), axes = c(1, 2), ...)
Arguments
x |
Objeto |
matrix |
|
axes |
Ejes para la columna |
... |
No se usa. |
Value
Un data.frame.
Examples
fit <- bigarx(USArrests)
head(bigarx_tidy(fit))
Regiones de confianza del biplot canónico
Description
Devuelve, para cada media de grupo, la región de confianza en el plano
elegido: centro, varianzas y covarianza, semiejes, ángulo de inclinación y
área. angulo es la inclinación de los ejes de la elipse respecto de los
ejes del gráfico (entre -45 y 45 grados), como en la tabla 7 de Amaro et
al. (2008); direccion_eje_mayor es el ángulo del eje mayor medido desde
el eje horizontal. Con region = "ellipse" reproduce las tablas 4 a 7 de Amaro,
Vicente-Villardón y Galindo (2008); con las regiones circulares, los dos
semiejes son iguales al radio.
Usage
canonical_regions(x, axes = c(1, 2))
Arguments
x |
Objeto de |
axes |
Plano (por defecto |
Value
Un data.frame con una fila por grupo.
References
Amaro, I. R., Vicente-Villardón, J. L. y Galindo, M. P. (2008). Contribuciones al MANOVA-Biplot: regiones de confianza alternativas. Revista Investigación Operacional, 29(3), 231-241.
Krzanowski, W. J. (1989). On confidence regions in canonical variate analysis. Biometrika, 76(1), 107-116.
Examples
cb <- bigarx_canonical(iris[, 1:4], iris$Species, region = "ellipse")
canonical_regions(cb)
Datos composicionales
Description
es_composicional() detecta filas que suman una constante;
transformar_composicional() aplica la transformacion log-cociente centrada
(clr) o aditiva (alr), con reemplazo multiplicativo de ceros.
Usage
es_composicional(X, tol = 0.001)
transformar_composicional(
X,
metodo = c("ninguna", "clr", "alr"),
referencia = NULL
)
Arguments
X |
Matriz o data.frame de proporciones. |
tol |
Tolerancia relativa. |
metodo |
|
referencia |
Variable del denominador en la alr. |
Value
es_composicional() devuelve TRUE si todas las filas suman la misma
constante (dentro de tol); transformar_composicional() devuelve un
data.frame con las variables transformadas (en la alr, sin la de referencia).
References
Aitchison, J. (1986). The Statistical Analysis of Compositional Data. Chapman and Hall.
Examples
set.seed(1)
P <- matrix(rgamma(60, 2), ncol = 4)
P <- P / rowSums(P)
es_composicional(P)
head(transformar_composicional(P, "clr"))
head(transformar_composicional(P, "alr"))
Comparaciones por pares con la T2 de Hotelling
Description
Compara cada par de medias con la matriz de covarianzas combinada del modelo.
Usage
hotelling_pares(x, ajuste = c("bonferroni", "holm", "none"))
Arguments
x |
Objeto de |
ajuste |
Ajuste de los valores p: |
Value
Un data.frame con D2 de Mahalanobis, T2, F, grados de libertad y valores p.
Examples
cb <- bigarx_canonical(iris[, 1:4], iris$Species)
hotelling_pares(cb, ajuste = "holm")
Imputa datos faltantes con una SVD de rango reducido
Description
Rellena las celdas NA con la aproximación de rango bajo de la matriz,
iterando hasta que los valores imputados se estabilizan. Es el ajuste por
mínimos cuadrados alternados descrito por Gabriel y Zamir (1979) y
revisado por Galindo (1986, sección 3.1).
Usage
impute_svd(
X,
rank = 2,
transform = c("standardize", "center", "double", "grand", "none"),
maxit = 500,
tol = 1e-06
)
Arguments
X |
Matriz o data.frame numérico con |
rank |
Rango de la aproximación (por defecto 2, el plano del biplot). Debe ser menor que el número de filas y de columnas. |
transform |
Transformación usada en cada iteración, como en
|
maxit |
Número máximo de iteraciones. |
tol |
Tolerancia para el cambio relativo de los valores imputados. |
Details
Algoritmo:
Se rellenan los
NAcon la media de su columna.Se aplica la transformación elegida (por ejemplo, estandarizar).
Se calcula la SVD y la aproximación de rango
rank.Se vuelve a la escala original y se reemplazan solo las celdas faltantes por los valores aproximados.
Se repiten los pasos 2 a 4 hasta que el cambio relativo de los valores imputados sea menor que
tol.
Los valores observados nunca se modifican.
Value
Un objeto de clase "bigarx_imputation": lista con
XLa matriz completa.
missingMatriz de posiciones (fila, columna) imputadas.
valuesdata.frame con fila, columna y valor imputado.
iterations,converged,rank,transformDetalles del ajuste.
References
Gabriel, K. R. y Zamir, S. (1979). Lower rank approximation of matrices by least squares with any choice of weights. Technometrics, 21(4), 489-498.
Galindo, M. P. (1986). Una alternativa de representación simultánea: HJ-Biplot. Qüestiió, 10(1), 13-23.
Examples
X <- as.matrix(USArrests)
X[c(3, 10, 25), 2] <- NA
imp <- impute_svd(X, rank = 2)
imp
imp$values
Invertir el signo de ejes canonicos
Description
Cambia la orientacion de los ejes indicados (medias, variables, individuos y correlaciones). No cambia ninguna conclusion; sirve para que el grafico se vea como el de un articulo o programa que eligio el signo contrario.
Usage
invertir_ejes(x, ejes)
Arguments
x |
Objeto de |
ejes |
Vector con los ejes a invertir. |
Value
El objeto con los ejes invertidos.
Examples
cb <- bigarx_canonical(iris[, 1:4], iris$Species)
ci <- invertir_ejes(cb, 2)
cbind(original = cb$rows[, 2], invertido = ci$rows[, 2])
Gráfico de un biplot con gráficos base
Description
Gráfico de un biplot con gráficos base
Usage
## S3 method for class 'bigarx'
plot(
x,
axes = c(1, 2),
col_scale = "auto",
min_quality = 0,
labels = TRUE,
row_col = "#0B7A72",
arrow_col = "#C2410C",
main = .method_label(x),
xlab = NULL,
ylab = NULL,
...
)
Arguments
x |
Objeto |
axes |
Ejes a representar. |
col_scale |
|
min_quality |
Calidad mínima (en %) en el plano para mostrar los
elementos. Un número se aplica a filas y columnas; un vector de dos,
|
labels |
Si es |
row_col, arrow_col |
Colores de los puntos y de las flechas. Si hay
|
main, xlab, ylab |
Título y nombres de los ejes. Por defecto, el nombre del método y el porcentaje de inercia de cada eje. |
... |
Argumentos adicionales para |
Value
x, de forma invisible.
Examples
fit <- bigarx(USArrests, method = "hj")
plot(fit, min_quality = 50)
Gráficos de un biplot con bootstrap
Description
type = "biplot" dibuja el biplot original con la nube de réplicas de la
punta de cada flecha y la elipse que contiene el conf de ellas. Los
demás tipos dibujan los intervalos de confianza como segmentos.
Usage
## S3 method for class 'bigarx_boot'
plot(x, type = c("biplot", .boot_types), cloud = TRUE, ...)
## S3 method for class 'bigarx_boot'
autoplot(object, type = c("biplot", .boot_types), cloud = TRUE, ...)
Arguments
x, object |
Objeto |
type |
|
cloud |
Dibujar las réplicas individuales en el biplot. |
... |
Argumentos adicionales para |
Value
x de forma invisible, o un objeto ggplot.
Examples
b <- bigarx_boot(USArrests, B = 200, method = "hj", seed = 1)
plot(b)
Gráfico del biplot canónico
Description
Muestra los individuos (opcional), las medias de grupo con su región de confianza y las variables como flechas.
Usage
## S3 method for class 'bigarx_canonical'
plot(
x,
axes = c(1, 2),
individuals = TRUE,
circles = TRUE,
col_scale = "auto",
min_quality = 0,
labels = TRUE,
arrow_col = "grey20",
main = NULL,
xlab = NULL,
ylab = NULL,
...
)
## S3 method for class 'bigarx_canonical'
autoplot(
object,
axes = c(1, 2),
individuals = TRUE,
circles = TRUE,
col_scale = "auto",
min_quality = 0,
labels = TRUE,
arrow_col = "grey20",
...
)
Arguments
x, object |
Objeto |
axes |
Ejes a representar. |
individuals |
Si es |
circles |
Si es |
col_scale |
|
min_quality |
Calidad mínima (en %) de las variables para dibujarlas. |
labels |
Rotular medias y variables. |
arrow_col |
Color de las flechas. |
main, xlab, ylab |
Título y nombres de los ejes. Por defecto, "Biplot canónico" y el porcentaje de inercia de cada eje. |
... |
Argumentos adicionales para |
Value
x de forma invisible (plot) o un objeto ggplot (autoplot).
Examples
cb <- bigarx_canonical(iris[, 1:4], iris$Species)
plot(cb)
if (requireNamespace("ggplot2", quietly = TRUE)) ggplot2::autoplot(cb)
Proyecta filas o columnas suplementarias
Description
Sitúa en el biplot nuevas filas (individuos) o columnas (variables) sin recalcular los ejes. Las filas se transforman con los parámetros de la matriz activa; las columnas, con sus propias medias y desviaciones.
Usage
## S3 method for class 'bigarx'
predict(object, newdata, type = c("rows", "cols"), ...)
## S3 method for class 'bigarx_canonical'
predict(object, newdata, ...)
Arguments
object |
Objeto |
newdata |
Matriz o data.frame numérico. |
type |
|
... |
No se usa. |
Value
Matriz de coordenadas en los mismos ejes que object.
Examples
fit <- bigarx(USArrests[-(1:5), ])
predict(fit, USArrests[1:5, ])
Resumen de un biplot con bootstrap
Description
Resumen de un biplot con bootstrap
Usage
## S3 method for class 'bigarx_boot'
summary(object, type = .boot_types, digits = 3, ...)
Arguments
object |
Objeto |
type |
Parámetros a mostrar: uno o varios de |
digits |
Decimales. |
... |
No se usa. |
Value
Un data.frame (de forma invisible) con las filas mostradas.
Examples
b <- bigarx_boot(USArrests, B = 200, method = "hj", seed = 1)
summary(b, type = "inercia")
Resumen de un biplot
Description
Reúne la inercia por eje, la bondad de ajuste y la calidad de representación de filas y columnas en los ejes elegidos.
Usage
## S3 method for class 'bigarx_canonical'
summary(object, axes = c(1, 2), ...)
## S3 method for class 'bigarx'
summary(object, axes = c(1, 2), ...)
Arguments
object |
Objeto |
axes |
Ejes para la calidad acumulada (por defecto |
... |
No se usa. |
Value
Objeto "summary.bigarx" con las tablas inertia, gof, rows
y cols. En rows y cols, la columna calidad es la suma de las
calidades en los ejes elegidos (QLR en MultBiplot).
Examples
fit <- bigarx(USArrests, method = "hj")
summary(fit)
Transformaciones disponibles para la matriz de datos
Description
Nombres aceptados por el argumento transform de bigarx():
Details
-
"standardize": resta la media y divide por la desviación típica de cada columna (denominador n - 1). Equivale a trabajar con la estructura de correlaciones. Es la opción por defecto y la que se usa cuando las variables tienen escalas distintas. -
"center": resta la media de cada columna. Conserva las varianzas originales (estructura de covarianzas), como en el biplot de componentes principales de Gabriel (1971, sección 3). -
"double": doble centrado; resta medias de fila y de columna y suma la media global. Útil para estudiar interacciones (Gabriel, 1971, sección 2). -
"grand": resta la media global de toda la matriz. -
"none": usa los datos tal como vienen.