En este artículo, vamos a ver cómo podemos trazar un gráfico Scree en el lenguaje de programación R con ggplot2 .
Cargando conjunto de datos:
Aquí cargaremos el conjunto de datos (recuerde soltar la columna no numérica). Dado que el conjunto de datos de la flor del iris contiene una columna de especie que es de tipo carácter, debemos descartarla porque PCA solo funciona con datos numéricos.
R
# drop the species column as its character type num_iris = subset(iris, select = -c(Species)) head(num_iris)
Producción:
Calcule el análisis de componentes principales usando la función prcomp()
Usamos la función prcomp() incorporada del lenguaje R, esta función toma el conjunto de datos como un argumento y calcula el PCA . El análisis de componentes principales (PCA) es un procedimiento estadístico que utiliza una transformación ortogonal que convierte un conjunto de variables correlacionadas en un conjunto de variables no correlacionadas. Hacer scale=TRUE estandariza los datos.
Sintaxis: prcomp(datos_numéricos, escala = VERDADERO)
Código:
R
# drop the species column as its character type num_iris = subset(iris, select = -c(Species) ) # compute pca pca <- prcomp(num_iris, scale = TRUE) pca
Producción:
Calcule la varianza explicada por cada componente principal:
Usamos la siguiente fórmula para calcular la variación total experimentada por cada PC.
Sintaxis : pca$sdev^2 / sum(pca$sdev^2)
Código:
R
# drop the species column as its character type num_iris = subset(iris, select = -c(Species) ) # compute pca pca <- prcomp(num_iris, scale = TRUE) # compute total variance variance = pca$sdev^2 / sum(pca$sdev^2) variance
Producción:
[1] 0.729624454 0.228507618 0.036689219 0.005178709
Ejemplo 1: Trazado de un gráfico de pantalla con un gráfico de líneas
R
library(ggplot2) # drop the species column as its character type num_iris = subset(iris, select = -c(Species) ) # compute pca pca <- prcomp(num_iris, scale = TRUE) # compute total variance variance = pca $sdev^2 / sum(pca $sdev^2) # Scree plot qplot(c(1:4), variance) + geom_line() + geom_point(size=4)+ xlab("Principal Component") + ylab("Variance Explained") + ggtitle("Scree Plot") + ylim(0, 1)
Producción:
Ejemplo 2: Trazado Gráfico de pantalla con gráfico de barras
R
library(ggplot2) # drop the species column as its character type num_iris = subset(iris, select = -c(Species) ) # compute pca pca <- prcomp(num_iris, scale = TRUE) # compute total variance variance = pca $sdev^2 / sum(pca $sdev^2) # Scree plot qplot(c(1:4), variance) + geom_col()+ xlab("Principal Component") + ylab("Variance Explained") + ggtitle("Scree Plot") + ylim(0, 1)
Producción:
Publicación traducida automáticamente
Artículo escrito por sudhanshublaze y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA