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.
Quiero leer...
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 ggbiplot y vqv 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:
[sourcecode lang=»r»] library(devtools)install_github("ggbiplot", "vqv")
[/sourcecode]
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:
[sourcecode lang=»r»] library(ggbiplot)[/sourcecode]
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:
[/sourcecode]
A continuación ejecutamos el siguiente código para obtener la figura del análisis de componentes principales:
[sourcecode lang=»r»] 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)
[/sourcecode]
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:
[sourcecode lang=»r»] ggbiplot(PCA, obs.scale = 1, var.scale = 1, groups = X, ellipse = TRUE/FALSE, circle = TRUE/FALSE)[/sourcecode]
En ese comando, podemos modificar principalmente 4 atributos:
- PCA: se refiere al nombre que hayamos dado al análisis de componentes principales.
- Groups = se refiere al nombre de la variable donde están los grupos.
- Ellipse = TRUE/FALSE. Se refiere a realizar elipses alrededor de cada uno de los grupos.
- Circle = TRUE/FALSE. Realiza un círculo que agrupe todos los pesos de las variables.
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.
Muy bueno! solo que no es posible la siguiente linea:
g <- g + opts(legend.direction = 'horizontal', legend.position = 'top')
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
Error: could not find function «install_github»
1. Ve a la página de Github
2. en el cuadro de búsqueda incluye ggbiplot
3. te dará las instrucciones para instalarlo ya que fue movido de archivo
Listo
busca en la página de Github las instrucciones, hay un cambio en la ubicación del archivo
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’)
muy bueno pero el orden correcto es
library(devtools)
install_github(«ggbiplot», «vqv»)
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.
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?
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!
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
Hola Laura, intenta poner force=TRUE sin las comillas.
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
Hola Luis, comprueba las comillas de tu código. Por ejemplo, en name=», le faltaría unas comillas.
Hola de donde sale wine.class porque en la tabla de wine no esta y para reproducirlo en algo que requiero hacer necesito saber de donde sacar esos grupos
Hola, no me permite instalar los paquetes y he usado estas opciones
install_github(«ggbiplot», «vqv»)
install_github(«vqv/ggbiplot», ref = «experimental»)
y ninguna me ha funcionado, me aparece
Downloading GitHub repo vqv/ggbiplot@experimental
Error in utils::download.file(url, path, method = download_method(), quiet = quiet, :
cannot open URL ‘https://api.github.com/repos/vqv/ggbiplot/tarball/experimental’
si alguien me podría ayudar seria fantástico. Gracias