J'ai un script permettant de décrire les résultats des corrélations entre variables dans une matrice.
Voici le code que j'obtiens :
Code : Tout sélectionner
testCorr <- function(nomFichier1 , nomFichier2 ,type_image , donnees)
{
library(ade4) #charge la librairie ade4 nécéssaire pour les calculs des corrélations
NbVariables <- length(factor(colnames(donnees)))
panel.cor <- function(echantillon1, echantillon2, digits=3, prefix="", cex.cor)
{
usr <- par("usr"); on.exit(par(usr)) # création de la matrice
par(usr = c(0, 1, 0, 1)) # séparation de chaque case de la matrice en plusieurs pour l'affichage des différents éléments
r <- abs(cor(echantillon1, echantillon2)) # transformation de la valeur de test en valeur absolue
txt <- format(c(r, 0.123456789), digits=digits)[1] # gère la police des caractères affichés
txt <- paste(prefix, txt, sep="") # affiche la valeur de test
if(missing(cex.cor)) cex <- 0.7/strwidth(txt) # gère la police d'affichage au cas où cex.cor est manquant
test <- cor.test(echantillon1, echantillon2) # effectue le test
myPal <- colorRampPalette( c("green", "red") ) # construit une palette de couleurs : ici dégradé du vert au rouge pour la représentation
Signif <- symnum(test$p.value, corr = FALSE, na = FALSE,
cutpoints = c(0,0.001,0.01,0.05,0.10,1),
symbols = c(myPal(5)[1],myPal(5)[2],myPal(5)[3],myPal(5)[4],myPal(5)[5]))
polygon(c(0,1,1,0),c(0,0,1,1),border="black",col=Signif)
text(0.5, 0.5, txt, cex = cex,col="black")
}
bitmap(nomFichier1,type_image,width=7,height=7,res=72,pointsize=12) # sauvegarde du graphique à l'endroit indiqué en paramètre de la fonction
pairs(donnees[,c(1:NbVariables)],lower.panel=panel.smooth, upper.panel=panel.cor) # matrice des corrélations
dev.off()
db <- donnees[,c(1:NbVariables)] # tracé des droites pour vérifier la normalité
pca1 <- dudi.pca(db, scannf = FALSE, nf = 3)
assign("db",db,envir=sys.frame(0))
bitmap(nomFichier2,type_image,width=5,height=5,res=72,pointsize=12) # tracé du cercle des corrélations
s.corcircle(pca1$co, clabel = 1,grid = TRUE,box=TRUE, fullcircle = TRUE)
dev.off()
}
ça marche nickel avec les couleurs et tout mais je voudrais savoir si c'est possible d'obtenir les noms des différentes variables sur les abscisses et ordonnées plutôt que sur la diagonale ??
Merci d'avance pour toute suggestion !
à+