Cómo hacer Scree Plot en R con ggplot2

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *