Pajaros<-read_excel("Pajaros.xlsx")
Data<-Pajaros[-1]
cov(Data)
## X1 X2 X3 X4 X5
## X1 13.353741 13.610969 1.9220663 1.3306122 2.1922194
## X2 13.610969 25.682823 2.7136054 2.1977041 2.6578231
## X3 1.922066 2.713605 0.6316327 0.3422662 0.4146471
## X4 1.330612 2.197704 0.3422662 0.3184184 0.3393707
## X5 2.192219 2.657823 0.4146471 0.3393707 0.9828231
R_Pajaros<-cor(Data)
R_Pajaros
## X1 X2 X3 X4 X5
## X1 1.0000000 0.7349642 0.6618119 0.6452841 0.6051247
## X2 0.7349642 1.0000000 0.6737411 0.7685087 0.5290138
## X3 0.6618119 0.6737411 1.0000000 0.7631899 0.5262701
## X4 0.6452841 0.7685087 0.7631899 1.0000000 0.6066493
## X5 0.6051247 0.5290138 0.5262701 0.6066493 1.0000000
cortest.bartlett(R_Pajaros,n=nrow(Data))
## $chisq
## [1] 150.193
##
## $p.value
## [1] 3.401733e-27
##
## $df
## [1] 10
Se concluye que no hay esfericidad en los datos.
rcorr(as.matrix(Data),type = "pearson")
## X1 X2 X3 X4 X5
## X1 1.00 0.73 0.66 0.65 0.61
## X2 0.73 1.00 0.67 0.77 0.53
## X3 0.66 0.67 1.00 0.76 0.53
## X4 0.65 0.77 0.76 1.00 0.61
## X5 0.61 0.53 0.53 0.61 1.00
##
## n= 49
##
##
## P
## X1 X2 X3 X4 X5
## X1 0e+00 0e+00 0e+00 0e+00
## X2 0e+00 0e+00 0e+00 0e+00
## X3 0e+00 0e+00 0e+00 1e-04
## X4 0e+00 0e+00 0e+00 0e+00
## X5 0e+00 0e+00 1e-04 0e+00
corrplot(R_Pajaros,method = "ellipse")
corrplot.mixed(R_Pajaros)
PCA<-prcomp(Data,scale. = T)
PCA
## Standard deviations (1, .., p=5):
## [1] 1.9015726 0.7290433 0.6216306 0.5491498 0.4056199
##
## Rotation (n x k) = (5 x 5):
## PC1 PC2 PC3 PC4 PC5
## X1 0.4517989 -0.05072137 0.6904702 -0.42041399 0.3739091
## X2 0.4616809 0.29956355 0.3405484 0.54786307 -0.5300805
## X3 0.4505416 0.32457242 -0.4544927 -0.60629605 -0.3427923
## X4 0.4707389 0.18468403 -0.4109350 0.38827811 0.6516665
## X5 0.3976754 -0.87648935 -0.1784558 0.06887199 -0.1924341
summary(PCA)
## Importance of components:
## PC1 PC2 PC3 PC4 PC5
## Standard deviation 1.9016 0.7290 0.62163 0.54915 0.40562
## Proportion of Variance 0.7232 0.1063 0.07728 0.06031 0.03291
## Cumulative Proportion 0.7232 0.8295 0.90678 0.96709 1.00000
Dado que el summary devuelve las desviaciones estandar, se debe encontrar aun el valor del autovalor de las matrices.
eig.val<-get_eigenvalue(PCA)
eig.val
## eigenvalue variance.percent cumulative.variance.percent
## Dim.1 3.6159783 72.319567 72.31957
## Dim.2 0.5315041 10.630082 82.94965
## Dim.3 0.3864245 7.728491 90.67814
## Dim.4 0.3015655 6.031310 96.70945
## Dim.5 0.1645275 3.290550 100.00000
PCA$rotation
## PC1 PC2 PC3 PC4 PC5
## X1 0.4517989 -0.05072137 0.6904702 -0.42041399 0.3739091
## X2 0.4616809 0.29956355 0.3405484 0.54786307 -0.5300805
## X3 0.4505416 0.32457242 -0.4544927 -0.60629605 -0.3427923
## X4 0.4707389 0.18468403 -0.4109350 0.38827811 0.6516665
## X5 0.3976754 -0.87648935 -0.1784558 0.06887199 -0.1924341
PCA$x[1:10,]
## PC1 PC2 PC3 PC4 PC5
## [1,] 0.06428901 0.60083713 -0.17123335 0.515825561 -0.5487904
## [2,] -2.18031283 0.44230082 0.40006959 0.645459959 -0.2310766
## [3,] -1.14556567 -0.01925412 -0.67612688 0.716298164 -0.2088714
## [4,] -2.31106565 -0.17199267 -0.30596210 -0.149289289 -0.4781034
## [5,] -0.29504203 0.66520783 -0.47421381 0.545862110 -0.2444780
## [6,] 1.91626198 0.59525444 0.62093302 -0.006608669 0.2855166
## [7,] -1.05036763 0.11981084 0.07446084 0.088396192 0.5303822
## [8,] 0.43854156 0.16397253 -1.64844050 -0.815773999 -0.5615014
## [9,] 2.69147373 0.78226687 0.36794761 -0.464857885 0.0579804
## [10,] 0.18568959 -1.31372223 -0.40908826 0.297345077 0.7021169
screeplot(PCA,main="Grafico de sedimentación")
fviz_eig(PCA)
Autovalor<-1:length(eig.val$eigenvalue)
ggplot(eig.val,aes(x=Autovalor))+
geom_col(aes(y=variance.percent))+
geom_line(aes(y=cumulative.variance.percent))+
geom_point(aes(y=cumulative.variance.percent))+
geom_hline(yintercept=80)+
ggtitle("Grafico de Sedimentació")
fviz_pca_ind(PCA,
col.ind = "cos2", # Color por la calidad de la representación
gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"),
repel = TRUE) # Para evitar la superposición de texto
fviz_pca_var(PCA,
col.var = "contrib", # Color por contribuciones al CP
gradient.cols = c("#00AFBB", "#E7B800", "#FC4E07"),
repel = TRUE) # Para evitar la superposición de texto
fviz_pca_biplot(PCA, repel = TRUE,
col.var = "red", # Color de las variables
col.ind = "blue", axes = c(1,2)) # Color de los indivíduos. Axes: es para seleccionar las componentes a graficar.