Fantásticos gráficos de Análisis de Componentes Principales en R

El Análisis de Componentes Principales (PCA) es un análisis meramente descriptivo cuya función es reducir el número de variables existentes, excluyendo aquéllas que tengan menos influencia a la hora de establecer diferencias entre los individuos. Por ello, el peso que tiene la figura o el gráfico del análisis de componentes principales a la hora de valorar la importancia de cada variable es importantísima. Esta figura resume gráficamente todo el análisis de componentes principales, y su correcta interpretación, apoyada por los datos numéricos, es básica a la hora de obtener conclusiones. Afortunadamente en R hay paquetes que permiten realizar fantásticos gráficos de Análisis de Componentes Principales para poder facilitar su interpretación. A continuación detallamos dichos pasos.

Paso 1. Fantásticos gráficos de Análisis de Componentes Principales: se requieren los paquetes devtools, ggbiplot y vqv

Para instalar los paquetes ggbiplot y vqv tenemos que cargar primero el paquete devtools, ya que éste contiene una función de instalación de los dos primeros. Debido a que ggbiplotvqv no se encuentran en los respositorios de R, sino en Github, el comando de devtools va en relación a la instalación a través de Github. Si no tenemos instalado el paquete devtools, lo podemos instalar siguiendo este tutorial en R Commander. Una vez instalado, lo cargamos e instalamos los otros dos paquetes siguiendo los siguientes comandos:

library(devtools)
install_github("ggbiplot", "vqv")

A continuación, podemos cargar en R Commander el paquete ggbiplot siguiendo los menús de la interfaz gráfica, o bien introduciendo y ejecutando el siguiente comando:

library(ggbiplot)

Paso 2. Cargamos los datos wine y realizamos la gráfica con ggbiplot

Para ilustrar la generación de esta figura, usaremos los datos del “wine“, que vienen integrados dentro del paquete “ggbiplot“. Podemos cargarlos a través de la interfaz gráfica o ejecutando el siguiente comando:

data(wine)

A continuación ejecutamos el siguiente código para obtener la figura del análisis de componentes principales:

wine.pca = prcomp(wine, scale. = TRUE) 
g = ggbiplot(wine.pca, obs.scale = 1, var.scale = 1, groups = wine.class, ellipse = TRUE, circle = TRUE) 
g = g + scale_color_discrete(name = '') 
g = g + opts(legend.direction = 'horizontal', legend.position = 'top') 
print(g)

ggbiplot en acción con los datos del ejemplo wine

 

Paso 3. Comprender y personalizar el comando ggbiplot

Una vez vistos esos ejemplos, introduzcámonos dentro de los atributos que se pueden modificar del comando ggbiplot para personalizar nuestras figuras:

ggbiplot(PCA, obs.scale = 1, var.scale = 1, groups = X, ellipse = TRUE/FALSE, circle = TRUE/FALSE)

En ese comando, podemos modificar principalmente 4 atributos:

  1. PCA: se refiere al nombre que hayamos dado al análisis de componentes principales.
  2. Groups = se refiere al nombre de la variable donde están los grupos.
  3. Ellipse = TRUE/FALSE. Se refiere a realizar elipses alrededor de cada uno de los grupos.
  4. Circle = TRUE/FALSE. Realiza un círculo que agrupe todos los pesos de las variables.

ggbiplot y atributos

Como podéis ver, generar fantásticos gráficos de análisis de componentes principales usando R es muy sencillo. Espero que estas imágenes os sean de utilidad y os valgan para dar una oportunidad a estos paquetes estadísticos.

Referencias

17 comentarios en “Fantásticos gráficos de Análisis de Componentes Principales en R

  1. Error: could not find function “opts”
    se tiene que utilizar la fución “theme” en lugar de “opts” para que ponga horizontal la leyenda

    Saludos

  2. ggbiplot(wine.pca, obs.scale = 1, var.scale = 1,
    groups = wine.class, ellipse = TRUE, circle = TRUE) +
    scale_color_discrete(name = ”) +
    theme(legend.direction = ‘horizontal’, legend.position = ‘top’)

  3. g = g + scale_color_discrete(name = ”)
    g = g + opts(legend.direction = ‘horizontal’, legend.position = ‘top’)

    BUEN DÍA !
    cual es la diferencia en esas dos gráficas?. Porque a mi me salen idénticas.

  4. Hola me ha salido todo bien, muchas gracias. Al final para instalar los demás paquetes use:
    >library(devtools)
    > install_github(“vqv/ggbiplot”)
    No se si de esta manera me instalo también el paquete”vqv”??? al final me salió el gráfico idéntico pero me apareció un mensaje de error:
    Error: could not find function “opts”
    No se en que influye esto? podría ayudarme?

  5. Hola Mario,

    Fantástico post de principal component. Una herramienta estadística muy interesante para ordenar las variables por orden de información según la diagonalización de la matrix de covarianza.

    Otro de los gráficos interesantes es graficar el valor del porcentaje de la varianza de cada principal component con un barplot para ver cuanta información retiene cada componente.

    Muchas gracias,

    Salut!

    • Por supuesto, el gráfico de desmoronamiento, donde se muestra el porcentaje de varianza acumulado por cada componente, lo tengo explicado en otras entradas. Gracias Jordi!

  6. He descargado e instalado el paquete devtools pero cuando ejecuto el comando siguiente :

    install_github(“vqv/ggbiplot”)

    recibo el siguiente mensaje:

    Skipping install of ‘ggbiplot’ from a github remote, the SHA1 (7325e880) has not changed since last install.
    ## Use `force = TRUE` to force installation

    He probado el siguiente comando:

    install_github(“vqv/ggbiplot”, ‘force = TRUE’)

    y tampoco he tenido éxito.

    Espero que me podáis resolver mi problema.

    Saludos,

    Laura

  7. Buenos días,
    al agregar las opciones del grafico de:
    groups = Mul.C.f, ellipse = FALSE, circle = FALSE) +
    scale_color_discrete(name = ”)
    theme(legend.direction = ‘horizontal’, legend.position = ‘top’)
    Obtengo este error
    Error: Aesthetics must be either length 1 or the same as the data (169): colour, x, y

    Ayuda
    Gracias

Deja un comentario

*