style1

Procédurier - Utiliser R en mesure et évaluation

Section 09 C - Analyse du PISA2006 par l'analyse factorielle.


Voici la section où nous ferons une analyse factorielle en utilisant des scores associés aux mathématiques et aux sciences.


##=============================================================================
## Fichier: Section_09C_gamma.r date: juin 2009
## Auteur: AndréSèb Aubin (andreseb.aubin@gmail.com)
##
## Dans ce script
## Analyse de données du PISA2006 par l'analyse factorielle
##
## F_In: data1 (fait dans le script transtype_alpha.r)
## Vérification du nombre de facteurs
##
##=============================================================================

##=============================================================================
## 00 - N'oubliez pas de vous assurez que toutes les librairies sont chargées.
##=============================================================================

score_compil <- na.omit(data1)
View(score_compil)

write.table(score_compil, file="score_2006.dat", row.names=TRUE, col.names=TRUE, sep="\t")
X <- score_compil


## Première étape, trouvons la matrice de corrélations de notre matrice de données X.
CX <- cor(X)
## Trouvons ensuite la valeurs des vecteurs propres de la matrice CX
ECX <- eigen(CX)
## Dans le cas de l'analyse factorielle, la représentation graphique est souvent intéressante.
plot(eigen(CX)$values, type="b", xlab="Composante", ylab="Valeur Propre")
lines(x=c(0,9),y=c(1,1), col="red")


Voici le schéma résultant de cette première méthode.








## Cependant, tous les cas, ne sont pas aussi simple. Une solution consiste à remplacer,
## dans la matrice de corrélation de la matrice de corrélations, la diagonale par les
## valeurs propres de la matrice CCX.

CCX <- cor(CX)
CCX

diag(CCX) <- apply(eigen(CCX)$vectors[,1:3],1,function(x) sum(xˆ2))

CCX

## Ensuite, on recalcule les valeurs propres de cette nouvelle matrice.

ECCX <- eigen(CCX)

## On peut ensuite réaliser le graphique des valeurs propres.

plot(eigen(CCX)$values, type="b", xlab="Composante", ylab="Valeur Propre")
lines(x=c(0,9),y=c(1,1), col="red")

print(varimax(ECCX$vectors[,1:3], normalize = FALSE),cutoff=0)


Et maintenant le schéma résultant de cette seconde méthode.




###=========================================================================

## Certaines fonctions de l'environnement R nous permettent d'accélérer l'obtention des
## facteurs. La fonctions princomp() retourne l'analyse des composante.

pc.cr <- princomp(X, cor= TRUE) # cor=TRUE utilise la matrice de corrélation pour les calculs.
summary(pc.cr) ## affiche le contenu de pc.cr sous formes résumé.

## Pour apercevoir le contenu de notre matrice en enlevant les entrées trop petites
## il est possible de modifier la valeur de cutoff.

print(loadings(pc.cr), cutoff=0) # cutoff = 0 affichera toutes les valeurs
print(loadings(pc.cr), cutoff=0.1) # cutoff=0.100 n'affichera que les valeurs plus grande que |0.100| (en valeur absolue)

## La fonction plot(pc.cr) permet d'afficher le diagramme des éboulis.
## À partir de ce diagramme, il est possible d'extraire les facteurs en observant
## le changement dans la pente du graphique.

plot(pc.cr) # affiche le graphique des éboulis.
biplot(pc.cr) # affiche le graphique biplot qui présente sous forme vectorielle.

###================ Fin du script Section_09C_gamma.r ======================#




Les opérations qui ont été présentées ici sont réunies dans le script suivant. Enregistrer sous...


Pour accéder à la suite des manipulations de la section 09 Cliquez ici (Section_09_D).


Retour à à la page précédente
Retour à la page principale

Dernière mise à jour faite le 21 janvier 2017 à 13:10 -0800 par AndréSèb

Get Firefox!