Crear una figura de análisis de componentes principales en R Commander

Ya hemos visto cómo realizar un análisis de componentes principales en R usando los datos presentes en paquetes estadísticos. Sin embargo, por la naturaleza de los datos y su estructura dentro de R Commander, la generación de gráficos de este análisis es ligeramente diferente. Aquí os voy a explicar cómo poder crear una figura de análisis de componentes principales en R Commander de un modo muy sencillo.

Datos y carga en R Commander

Para poder practicar, vamos a descargar unos datos, en los que hay 8 variables, 12 individuos sobre los que se miden esas variables que pertenecen a 3 espcies diferentes:

Los importamos a continuación en R Commander siguiendo la ruta Data → Import data → From text file, clipboard, or URL…

importar-datos-en-r-commander-del-ejemplo-de-pca

Los datos se tienen que ver así:

datos-de-pca-ejemplo-figura-componentes-principales

Realizamos el análisis de componentes principales

Vamos a la ruta de R Commander Statistics → Dimensional analysis → Principal-component analysis… y seleccionamos todas las variables, marcando la opción de Screeplot (gráfico de desmoronamiento). El resultado es el siguiente:


> .PC <- princomp(~VAR1+VAR2+VAR3+VAR4+VAR5+VAR6+VAR7+VAR8, cor=TRUE, data=PCA)

> unclass(loadings(.PC))  # component loadings
Comp.1      Comp.2      Comp.3      Comp.4       Comp.5      Comp.6      Comp.7
VAR1 -0.1873921  0.56524063 -0.15304345  0.02673099  0.253147686  0.59026619  0.43841332
VAR2 -0.4289196  0.08308355  0.04990822  0.34246540 -0.446670781 -0.22223837  0.06957113
VAR3 -0.4163887  0.17197292  0.01755336  0.31069177 -0.357060898 -0.08889445  0.13049703
VAR4 -0.4050317  0.16928052 -0.67103020 -0.34462475  0.085904880 -0.14647911 -0.45760850
VAR5 -0.4142241  0.10860031  0.63511681 -0.64160803 -0.002450655 -0.01272377 -0.03771204
VAR6  0.1258707  0.59684933  0.27501455  0.31752144  0.419073826 -0.41540358 -0.32138756
VAR7  0.3556294  0.35809232  0.07703739 -0.07018063 -0.586009010  0.40016246 -0.48049093
VAR8 -0.3599785 -0.34513233  0.19635706  0.38639521  0.287217500  0.48988320 -0.49085121
Comp.8
VAR1  1.286322e-01
VAR2  6.600052e-01
VAR3 -7.401244e-01
VAR4  2.084455e-03
VAR5  6.144017e-05
VAR6 -1.267913e-03
VAR7  5.425934e-03
VAR8  5.238937e-03

> .PC$sd^2  # component variances
Comp.1       Comp.2       Comp.3       Comp.4       Comp.5       Comp.6
5.315824e+00 2.535884e+00 1.152442e-01 2.795347e-02 4.782944e-03 2.418551e-04
Comp.7       Comp.8
7.005968e-05 4.303735e-08

> summary(.PC) # proportions of variance
Importance of components:
Comp.1    Comp.2     Comp.3      Comp.4      Comp.5
Standard deviation     2.305607 1.5924458 0.33947642 0.167192912 0.069158829
Proportion of Variance 0.664478 0.3169855 0.01440553 0.003494184 0.000597868
Cumulative Proportion  0.664478 0.9814634 0.99586895 0.999363137 0.999961005
Comp.6       Comp.7       Comp.8
Standard deviation     1.555169e-02 8.370166e-03 2.074544e-04
Proportion of Variance 3.023188e-05 8.757460e-06 5.379668e-09
Cumulative Proportion  9.999912e-01 1.000000e+00 1.000000e+00

screeplot(.PC)

remove(.PC)

grafico-de-desmoronamiento-o-screeplot-del-ejemplo-de-pca

Podemos observar que el 98.15% de la variación se encuentra en los dos primeros componentes principales.

Crear una figura de análisis de componentes principales en R Commander

Ahora vamos a explicar los códigos para obtener la imponente y fabulosa figura de análisis de componentes principales en R Commander.

Paquete necesario: ggbiplot

El paquete necesario para realizar exitosamente este gráfico estadístico es ggbiplot. Aquí sabréis como instalar y cargar paquetes en R Commander.

Seleccionamos la línea de código .PC

Copiamos la línea de código del análisis de componentes principales mostrado previamente que empieza por “.PC”, y lo pegamos quitándole el punto (“.”) inicial, tal y como se ve a continuación:


PC <- princomp(~VAR1+VAR2+VAR3+VAR4+VAR5+VAR6+VAR7+VAR8, cor=TRUE, data=PCA)

Generamos el código de la figura con ggbiplot

Generamos un objeto (“g“) que haga la figura. Fijaros en que hay que poner PC en su sitio, si es este el nombre que le hemos puesto al análisis. PCA$SP se refieren respectivamente al nombre del conjunto de datos y al nombre de la variable categórica.

g <- ggbiplot(PC, obs.scale = 1, var.scale = 1, groups = PCA$SP, ellipse = TRUE, circle = FALSE)

Sólo queda añadir este código

Lo dicho, a este código no hay que modificarle nada, y se añade después l último

g <- g + scale_color_discrete(name = '')
g <- g + theme(legend.direction = 'horizontal', legend.position = 'top')
print(g)

<h3>Todo el código en conjunto</h3>
Todo el código en conjunto se vería así:


PC <- princomp(~VAR1+VAR2+VAR3+VAR4+VAR5+VAR6+VAR7+VAR8, cor=TRUE, data=PCA)
g <- ggbiplot(PC, obs.scale = 1, var.scale = 1, groups = PCA$SP, ellipse = TRUE, circle = FALSE)
g <- g + scale_color_discrete(name = '')
g <- g + theme(legend.direction = 'horizontal', legend.position = 'top')
g <- g + scale_color_discrete(name = '')
g <- g + theme(legend.direction = 'horizontal', legend.position = 'top')
print(g)

Crear una figura de análisis de componentes principales en R Commander

Y este es por fin el resultado de crear figura de análisis de componentes principales en R Commander:

figura de análisis de componentes principales en R

2 comentarios en “Crear una figura de análisis de componentes principales en R Commander

  1. Saludos, intento cargar el ggbiplot con el siguiente comando
    install.packages(“ggbiplot”)
    use el pais de España, luego intente con Mexico, pero me sale el siguiente aviso:
    Warning: package ‘ggbiplot’ is not available (for R version 3.3.2)

    Estoy usando R version 3.3.2

    ¿Habrá alguna forma de cargar ese paquete?

    • Hola Carlos, perdona la espera. Intenta instalar el paquete con este comando: install.packages(“ggbiplot”, dependencies=TRUE). Este último atributo le está indicando que instale todos los paquetes que sean necesarios para el correcto funcionamiento de ggbiplot.

Deja un comentario

*