You are on page 1of 20

MARI MARITZA RAMOS AROHUANCA

SCRIPT Y SALIDA DE COMPONENTES PRINCIPALES


# IMPORTAR Y llamar al archivo

library(readr)

datos=read_csv("E:/MULTI/Libro1.csv")

View(datos)

head(datos) # vista de datos


MARI MARITZA RAMOS AROHUANCA
SCRIPT Y SALIDA DE COMPONENTES PRINCIPALES
str(datos) # vista de estructura de datos

INTERPRETACION :

Con el comando Str obtenemos una información estructurada del tipo de variable en este caso los
tipos de variable que predominan son enteros(int) y numéricos(num)

class(datos)

INTERPRETACION: Evidentemente la data es una data frame

# La primera columna es Id no es variable, elimnar del analisis

datos=datos[,-5]

str(datos) # vista de estructura y no están 5 variables que anteceden a IMC


MARI MARITZA RAMOS AROHUANCA
SCRIPT Y SALIDA DE COMPONENTES PRINCIPALES

INTERPRETACION : Nos muestra una clara vista de estructura y no están 5 variables que
anteceden a IMC

# Analisis descriptivo

summary(datos)

INTERPRETACION : El summary nos muestra un resumen , una síntesis de todas las variables , los
valores minimos ,máximos,la media y mediana
MARI MARITZA RAMOS AROHUANCA
SCRIPT Y SALIDA DE COMPONENTES PRINCIPALES

boxplot(datos,col=10:16)

INTERPRETACION: En el Grafico se observa un evidente error o datos oustlier que están fuera del
rango de las medianas en las cajas de glicemia_basal asimismo en cot_tot

datos_correlaciones <- correlate(datos) #Cálculo de un objeto de correlaciones

rplot(datos_correlaciones, legend = TRUE, colours = c("firebrick1", "black",

"darkcyan"), print_cor = TRUE) #Opción gráfica de las correlaciones


MARI MARITZA RAMOS AROHUANCA
SCRIPT Y SALIDA DE COMPONENTES PRINCIPALES

pairs(datos) # grafico de dispersion bi variable


MARI MARITZA RAMOS AROHUANCA
SCRIPT Y SALIDA DE COMPONENTES PRINCIPALES

INTERPRETACION: En el grafico se presenta la dispersión de las 17 variables y podemos


analizarlas o identificarlas por sus similitudes podemos observar que existe una relación positiva
entre cada par de pruebas
MARI MARITZA RAMOS AROHUANCA
SCRIPT Y SALIDA DE COMPONENTES PRINCIPALES

cor(datos) # Correlacion

INTERPRETACION: se muestra la correlación cuadros de comparaciones en donde analizamos el


grado de relación entre las múltiples variables ejemplo entre los datos del estado nutricional y la
insuloinoresistencia hay una relación de 0.26124563

#deteccion de valores NA o ausentes

is.na(datos)

which (is.na(datos))
MARI MARITZA RAMOS AROHUANCA
SCRIPT Y SALIDA DE COMPONENTES PRINCIPALES

IMC estado_nutricional Circunsferencia_abdominal Obesidad_central Glicemia_basal N_Insulina HOMAIR


Insulinoresistencia col_tot HDL
FALSE FALSE FALSE
LDL Trigliceridos hipertrigliceridemia hipercolesterolemia HDL_bajo LDL_alto Dislipidemia
[1,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[2,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[3,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[4,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[5,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[6,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[7,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[8,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[9,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[10,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[11,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[12,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[13,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[14,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[15,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[16,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[17,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[18,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[19,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[20,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[21,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[22,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[23,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[24,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[25,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[26,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[27,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[28,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[29,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[30,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[31,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[32,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[33,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[34,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[35,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[36,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[37,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[38,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[39,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[40,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[41,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[42,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[43,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[44,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[45,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[46,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[47,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[48,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[49,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[50,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[51,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[52,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[53,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[54,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[55,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[56,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[57,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[58,] FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[ reached getOption("max.print") -- omitted 98 rows ]
> which (is.na(datos))
[1] 819 1361 1362 1363 1364 1365 1517 1518 1519 1520 1521 1658 1673 1674 1675 1676 1677 1829 1830 1831 1832
1833 1985 1986 1987 1988 1989 2141
[29] 2142 2143 2144 2145 2297 2298 2299 2300 2301 2453 2454 2455 2456 2457 2609 2610 2611 2612 2613

>
MARI MARITZA RAMOS AROHUANCA
SCRIPT Y SALIDA DE COMPONENTES PRINCIPALES
INTERPRETACION : El resultado sirve para deteccion de valores NA o ausentes en este caso no
existe valores ausentes

# discretizacion, en caso haya var cualitativas

# numerizacion, cuando se quiere numeros

#usando librerias, analisis descriptivo

library(psych)

describe(datos)

corr.test(datos) # correlacion con valores probabilísticos


MARI MARITZA RAMOS AROHUANCA
SCRIPT Y SALIDA DE COMPONENTES PRINCIPALES
MARI MARITZA RAMOS AROHUANCA
SCRIPT Y SALIDA DE COMPONENTES PRINCIPALES

INTERPRETACION : Se obtuvo una correlacion con valores probabilísticos

cor.plot(cor(datos)) # grafico de calor


MARI MARITZA RAMOS AROHUANCA
SCRIPT Y SALIDA DE COMPONENTES PRINCIPALES

INTERPRETACION: Se Observa el nivel de relación que cada variable tiene con las otras , en donde
el color azul esta mucho mas notorio indica que existe una buena evidente correlacion.

# Al existir correlaciones, indica que es recomendable continuar

library(carData)

library(tibble)

library(data.table)

library(car)

x11()

scatterplotMatrix(datos)

scatterplotMatrix(datos, diagonal = "hist")


MARI MARITZA RAMOS AROHUANCA
SCRIPT Y SALIDA DE COMPONENTES PRINCIPALES

INTERPRETACION : el grafico es un diagrama de dispersión de la matriz de los resultados de las 17


pruebas podemos observar que existe una relación positiva entre cada par de pruebas

scatterplotMatrix(datos, diagonal = "boxplot")

INTERPRETACION : el grafico es un diagrama de dispersión de la matriz de los resultados de las 17


pruebas podemos observar que existe una relación positiva entre cada par de pruebas
MARI MARITZA RAMOS AROHUANCA
SCRIPT Y SALIDA DE COMPONENTES PRINCIPALES

scatterplotMatrix(datos, diagonal = "density")

INTERPRETACION : el grafico es un diagrama de dispersión de la matriz de los resultados de las 17


pruebas podemos observar que existe una relación positiva entre cada par de pruebas

#PROCESO DEL ANÁLISIS FACTORIAL:

# Se puede conocere la presencia de multicolinealidad al evaluar la

# Determinante de la matriz de correlaciones de las variables ingresadas al

# estudio:

#Un determinante bajo, es decir, cercano a 0, indica alta multicolinealidad

#entre las variables. De ser igual a cero (matriz no singular), esto indicaría

#que algunas de las variables son linealmente dependientes y no se podrían realizar

#ciertos cálculos necesarios para los procedimientos multivariados.

#En este caso observamos

#que es muy cercano a 0, lo que sugiere un alto nivel de colinealidad en el conjunto de variables
involucradas en la matriz}
MARI MARITZA RAMOS AROHUANCA
SCRIPT Y SALIDA DE COMPONENTES PRINCIPALES
#supuesto de colinealidad

det(Rcor)

#Ahora bien la explicación del Test de Bartlett


# es muy similar a la prueba Chi Cuadrado,

#es decir a valores pequeños de K-squared expresa que existe una homogeneidad en las varianzas

#y por lo consiguiente existen un buen número de correlaciones positivas entre las variables y

#el p-valor y se puede corroborarlo fijando un

#H0: Las varianzas son homogéneas (correlaciones aceptables),

#con un alfa=0.05.

#Otra explicación es que dicho

#test proporciona la probabilidad de que la matriz de correlación de las variables sea una matriz
identidad

#Por consiguiente vamos a ubicar el cálculo de los estimadores del Test de Bartlett y el MSA(KMO):

bartlett.test(datos)

print(cortest.bartlett(Rcor,n = nrow(datos)))
MARI MARITZA RAMOS AROHUANCA
SCRIPT Y SALIDA DE COMPONENTES PRINCIPALES

# Test MSA o KMO - PRUEBA DE multicolinealidad


#contrasta si las correlaciones parciales entre las variables son suficientemente pequeñas. El
estadístico KMO varía entre 0 y 1.

#Los valores pequeños indican que el análisis factorial puede no ser una buena idea,

#dado que las correlaciones entre los pares de variables no pueden ser explicadas por otras
variables.

#Los menores que 0.5 indican que no debe utilizarse el AF con la matriz de datos que se están
analizando

library(psych)

KMO(datos)

library(stats) #Librería del sistema base

# Por consiguiente vamos a ubicar el cálculo de los estimadores del Test de

# Bartlett y el MSA(KMO)
MARI MARITZA RAMOS AROHUANCA
SCRIPT Y SALIDA DE COMPONENTES PRINCIPALES

#ACP sin rotacion n´1(explorando cantidad de componentes)

CPnorotado1<-principal(datos,nfactors=1,rotate="none",use=pairwise)

CPnorotado1

#autovalor(ss loadings): medida de la varianza que explica cada componente/factor

#Otro elemento que aporta a la delimitación de cantidad de factores/componentes a elegir, es el

#gráfico de sedimentación. Los comandos y la salida de R son los siguientes:

#grafico de sedimentacion

sedimentacion <-princomp(datos,scores = TRUE,cor = TRUE)

plot(sedimentacion,type="lines")
MARI MARITZA RAMOS AROHUANCA
SCRIPT Y SALIDA DE COMPONENTES PRINCIPALES

INTERPRETACION : En el primer grafico se observa que se generó 5 componentes en donde el


componente 4 y componente 5 están más relacionadas que el resto de variables

En el segundo grafico se visualiza el número de factores o componentes la línea roja indica que
existe una optima coordinalidad .
MARI MARITZA RAMOS AROHUANCA
SCRIPT Y SALIDA DE COMPONENTES PRINCIPALES
La determinacion del número de factores a retener es, en parte, arbitraria y queda a juicio del
investigador.
Un criterio es retener los factores con valor propio superior a 1.
Tambien podemos representar un gráfico de sedimentación (scree plot) de los valores propios
como el de
la figura anterior considerar el numero de componentes en el que el descenso se estabiliza.
5 permiten una representacion grafica en 5 dimensiones.
rotacion varimax

Con el fin n de facilitar la interpretacion del signicado de los factores seleccionados se suele llevar
acabo una rotacion de los ejes factoriales. Uno de los metodos mas corrientes es el Varimax,
desarrolladopor Kaiser (1958), que efectua una rotaci_on ortogonal de los ejes factoriales. El
objetivo de la rotación Varimax es conseguir que la correlacion de cada una de las variables sea lo
mas proxima a 1 con solo un de los factores y proxima a cero con todos los demas.
Recordemos que las correlaciones de las variables con las componentes obtenidas han sido las
siguientes:

#ACP con rotacion varimax

Cprotado <- principal(datos,nfactors=1,rotate="varimax")

Cprotado
MARI MARITZA RAMOS AROHUANCA
SCRIPT Y SALIDA DE COMPONENTES PRINCIPALES
INTERPRETAICON : En este análisis de componentes principales con varimax se observa la
generación de un componente para las variables en donde la proporción de la variable es 0.72

También nos indica que la chi cuadrada es de 6.59 con una probabilidad <0.25