El siguiente conjunto de datos contiene información de 10 estudiantes con sus correspondientes calificaciones de 0 a 10 en dos periodos de un año. Las calificaciones corresponden a las asignaturas de Matemáticas, Español y Ciencias Naturales. Para la realización de este ejemplo se utilizan las librerías FactoMineR y factoextra
read.table("dataCalifiAFM.csv",header=T,sep=";",dec=".",row.names=1)->data
datanew <- data[,1:6] ; datanew ## Datos con Calificaciones en dos periodos
## Matematicas Ciencias Espanol Matematicas2 Ciencias2 Espanol2
## Lucia 7.0 6.5 9.2 7.1 6.6 9.3
## Pedro 7.5 9.4 7.3 7.5 9.4 7.3
## Carmen 7.6 9.2 8.0 7.7 9.2 8.1
## Luis 5.0 6.5 6.5 7.2 6.9 6.5
## Andres 6.0 6.0 7.8 6.0 6.0 6.3
## Ana 7.8 9.6 7.7 6.5 6.4 6.4
## Carlos 6.3 6.4 8.2 6.3 6.4 6.2
## Jose 7.9 9.7 7.5 6.5 6.0 5.5
## Sonia 6.0 6.0 6.5 7.1 6.7 6.5
## Maria 6.8 7.2 8.7 6.9 7.2 8.7
summary(datanew) ## Descriptivos básicos
## Matematicas Ciencias Espanol Matematicas2
## Min. :5.000 Min. :6.000 Min. :6.50 Min. :6.000
## 1st Qu.:6.075 1st Qu.:6.425 1st Qu.:7.35 1st Qu.:6.500
## Median :6.900 Median :6.850 Median :7.75 Median :7.000
## Mean :6.790 Mean :7.650 Mean :7.74 Mean :6.880
## 3rd Qu.:7.575 3rd Qu.:9.350 3rd Qu.:8.15 3rd Qu.:7.175
## Max. :7.900 Max. :9.700 Max. :9.20 Max. :7.700
## Ciencias2 Espanol2
## Min. :6.000 Min. :5.500
## 1st Qu.:6.400 1st Qu.:6.325
## Median :6.650 Median :6.500
## Mean :7.080 Mean :7.080
## 3rd Qu.:7.125 3rd Qu.:7.900
## Max. :9.400 Max. :9.300
par(mfrow=c(1,2))
boxplot(datanew[,1:3],col=rainbow(5),main="Periodo 1",ylab="Calificación")
boxplot(datanew[,4:6],col=rainbow(5),main="Periodo 2",ylab="Calificación")
Es importante previamente de un AFM estudiar las relaciones entre las varibles. Puesto que las variables son de tipo cuantitativo se utiliza la matriz de correlación de Pearson
cor(datanew)
## Matematicas Ciencias Espanol Matematicas2 Ciencias2
## Matematicas 1.0000000 0.85407878 0.38457424 0.1242401 0.30331953
## Ciencias 0.8540788 1.00000000 -0.02005218 0.2566413 0.43696275
## Espanol 0.3845742 -0.02005218 1.00000000 -0.1430919 -0.04755598
## Matematicas2 0.1242401 0.25664128 -0.14309187 1.0000000 0.82427912
## Ciencias2 0.3033195 0.43696275 -0.04755598 0.8242791 1.00000000
## Espanol2 0.1486388 -0.10477774 0.66648637 0.5373197 0.42158156
## Espanol2
## Matematicas 0.1486388
## Ciencias -0.1047777
## Espanol 0.6664864
## Matematicas2 0.5373197
## Ciencias2 0.4215816
## Espanol2 1.0000000
res.mfa1 <- MFA(data[,1:6],group=c(3,3),type=c("s","s"),
name.group=c("Periodo1","Periodo2"),graph = FALSE)
res.mfa1 ## Contiene todos los resultados del AFM
## **Results of the Multiple Factor Analysis (MFA)**
## The analysis was performed on 10 individuals, described by 6 variables
## *Results are available in the following objects :
##
## name description
## 1 "$eig" "eigenvalues"
## 2 "$separate.analyses" "separate analyses for each group of variables"
## 3 "$group" "results for all the groups"
## 4 "$partial.axes" "results for the partial axes"
## 5 "$inertia.ratio" "inertia ratio"
## 6 "$ind" "results for the individuals"
## 7 "$quanti.var" "results for the quantitative variables"
## 8 "$summary.quanti" "summary for the quantitative variables"
## 9 "$global.pca" "results for the global PCA"
res.mfa1$eig ## Muestra los valores propios del ACP global
## eigenvalue percentage of variance cumulative percentage of variance
## comp 1 1.26498961 43.4010336 43.40103
## comp 2 0.78829920 27.0460721 70.44711
## comp 3 0.73559070 25.2376751 95.68478
## comp 4 0.08376255 2.8738426 98.55862
## comp 5 0.02683760 0.9207821 99.47941
## comp 6 0.01517353 0.5205946 100.00000
Se observa que el porcentaje de varianza explicado en los dos primeros ejes es del 70.44%, por lo cuál se decide trabajar solo con esos dos ejes.
fviz_mfa_group(res.mfa1)
## Warning in fviz_mfa_group(res.mfa1): Deprecated function. Use
## fviz_mfa_var(res.mfa, 'group') instead.
Se observa que existe cierta diferencia en ambos periodos, útil si queremos hacer comparaciones entre grupos de variables.
fviz_mfa_var(res.mfa1)
fviz_mfa_ind_starplot(res.mfa1)
## Warning in fviz_mfa_ind_starplot(res.mfa1): This function is deprecated.
## It will be removed in the next version. Use fviz_mfa_ind(res.mfa, partial =
## 'All') instead.
En este gráfico se trabaja el concepto de trayectorías por el hecho de tener datos en el tiempo, lo que se quiere ver es cómo se comporta en el estudiante en los periodos. Este gráfico se debe interpretar en conjunto del circulo de correlaciones, en donde se observó que los que estan en el cuadrante superior derecho son quienes tienen un mejor desempeño en Español y Español 2; los que están sobre el eje 1 al derecho tuvieron muy buen desempeño en Matemáticas2 y Ciencias2 en el segundo periodo; y quienes se situán en la parte inferior derecha presentaron buen desempeño en Matemáticas y Ciencias primer periodo. Por otro lado, es importante mencionar que los que se situan en la parte izquierda del gráfico son quienes presentan menor desempeño teniendo en cuenta lo descrito anteriormente
Ahora bien, podemos interpretar cada estudiante:
fviz_mfa_axes(res.mfa1)
res.mfa1$global.pca$ind$contrib
## Dim.1 Dim.2 Dim.3 Dim.4 Dim.5
## Lucia 2.13407159 39.41652389 3.492634 15.97645696 1.155631289
## Pedro 19.68771563 5.25466743 8.116098 13.22724121 1.605650507
## Carmen 28.89097298 0.01577571 4.243633 2.47137535 0.010651455
## Luis 11.03045030 0.37464883 30.705723 3.40794122 41.023098114
## Andres 19.44817928 0.55770447 3.250591 17.91374159 0.358898707
## Ana 0.71556478 11.27356106 13.697706 4.07853647 3.621111021
## Carlos 8.52855428 0.78297733 3.659015 22.52395604 0.839776216
## Jose 0.01460787 24.75877645 16.127817 8.76013752 0.003387636
## Sonia 8.00805395 0.79679932 15.522275 11.63844828 45.800837918
## Maria 1.54182935 16.76856551 1.184507 0.00216537 5.580957138
res.mfa1$global.pca$ind$contrib
## Dim.1 Dim.2 Dim.3 Dim.4 Dim.5
## Lucia 2.13407159 39.41652389 3.492634 15.97645696 1.155631289
## Pedro 19.68771563 5.25466743 8.116098 13.22724121 1.605650507
## Carmen 28.89097298 0.01577571 4.243633 2.47137535 0.010651455
## Luis 11.03045030 0.37464883 30.705723 3.40794122 41.023098114
## Andres 19.44817928 0.55770447 3.250591 17.91374159 0.358898707
## Ana 0.71556478 11.27356106 13.697706 4.07853647 3.621111021
## Carlos 8.52855428 0.78297733 3.659015 22.52395604 0.839776216
## Jose 0.01460787 24.75877645 16.127817 8.76013752 0.003387636
## Sonia 8.00805395 0.79679932 15.522275 11.63844828 45.800837918
## Maria 1.54182935 16.76856551 1.184507 0.00216537 5.580957138
res.mfa1$global.pca$var$contrib
## Dim.1 Dim.2 Dim.3 Dim.4 Dim.5
## Matematicas 24.131717 5.56326734 20.9825745 2.9709846 45.7780648
## Ciencias 21.729437 25.01490995 4.4519105 0.8525258 47.3317170
## Espanol 4.682394 31.20890642 27.4903322 7.0994814 3.7091662
## Matematicas2 16.401537 0.66212898 29.5746200 21.6611824 0.2184133
## Ciencias2 22.002724 0.03253516 17.0185786 58.3888208 1.3138378
## Espanol2 11.052191 37.51825215 0.4819843 9.0270050 1.6488009
res.mfa1$global.pca$var$contrib
## Dim.1 Dim.2 Dim.3 Dim.4 Dim.5
## Matematicas 24.131717 5.56326734 20.9825745 2.9709846 45.7780648
## Ciencias 21.729437 25.01490995 4.4519105 0.8525258 47.3317170
## Espanol 4.682394 31.20890642 27.4903322 7.0994814 3.7091662
## Matematicas2 16.401537 0.66212898 29.5746200 21.6611824 0.2184133
## Ciencias2 22.002724 0.03253516 17.0185786 58.3888208 1.3138378
## Espanol2 11.052191 37.51825215 0.4819843 9.0270050 1.6488009
El AFM permite realizar una descripción de diferentes individuos que están descritos por k grupos o tablas, en este ejemplo longitudinal nos dió a entender el aumento o la disminución de la calificación en dos periodos de análisis. Sería interesante analizar más periodos y ver si por medio del AFM se pueden construir índices o realizar alguna clasificación de los estudiantes con clúster.