#install.packages(c("FactoMineR","tidyverse")) library(tidyverse) require(ggrepel) library(FactoMineR) # Données ---- db <- read.csv("https://epog.univ-paris13.fr/wp-content/uploads/2021/01/db21janvier.txt", sep=";") #la ligne au dessus importe directement depuis le site d'epog #en cas de problème, aller sur le site # et faire "clic droit" puis enregistrer db11janvier_sans_accent-1.txt #dans le même dossier que ce script R #et retirer le # de la ligne ci-dessous #db11janvier <- read.csv("db11janvier.txt", sep=";") names(db) #on prépare la base pour faire l'ACP pour_PCA<-db %>% mutate(poids=effectif/sum(effectif)) %>% select(-effectif,-ETABLI,-academie) %>% relocate(c("hommes","femmes","doctorats","masters","licences"),.after= prof_inter) names(pour_PCA) # ACP ----- resultat<-PCA(pour_PCA[,1:17], quanti.sup=13:17, row.w=pour_PCA$poids) # FIG I : l'ébouli des pourcentages d'inertie (les valeurs propres) barplot(resultat$eig[,2],main="Part de chaque axe dans l'inertie totale", names.arg=1:nrow(resultat$eig)) # FIG II : le cercle des variables -------------- plot.PCA(resultat,choix='var',title="Graphe des variables de l'ACP") #on peut faire la figure II à la main dbact<-as_tibble(resultat$var$coord) %>% mutate(type="Var actives") %>% mutate(names=c(rownames(resultat$var$coord))) dbsup<-as_tibble(resultat$quanti.sup$coord) %>% mutate(type="Var suppl") %>% mutate(names=c(rownames(resultat$quanti.sup$coord))) dbvar<-bind_rows(dbact,dbsup) ggplot(dbvar,aes(x=Dim.1,y=-Dim.2, label=names,color=type))+ scale_shape_manual(values=c("triangle","square"))+ geom_point(aes(shape=type))+ theme(legend.title=element_blank(), panel.background =element_rect(fill="white"), legend.position=c(0.15,0.85), legend.background = element_rect(fill="white",size=0.5, linetype="solid",colour ="black"), axis.title=element_text(size=12))+ geom_text_repel(size=4,show.legend = FALSE)+ geom_hline(yintercept=0,linetype="dashed",colour="grey")+ geom_vline(xintercept = 0,linetype="dashed",colour="grey")+ ggtitle("Figure II - Graphique des variables de l'ACP en 2019") #FIG III : individus -------------- plot.PCA(resultat,title="Graphe des individus de l'ACP") #la figure des individus à la main dbind<-bind_cols(db,as_tibble(resultat$ind$coord)) ggplot(data=dbind,aes(x=Dim.1,y=-Dim.2))+ ggtitle("Universités 2019")+ scale_color_gradient(low = "green", high = "red")+ geom_point(aes(color=prof_sup))+ geom_text_repel(aes(color=prof_sup,label=Sigle),size=3)+ geom_hline(yintercept=0,linetype="dashed")+ geom_vline(xintercept = 0,linetype="dashed")+ theme(plot.title=element_text(hjust=0.5),legend.position=c(.95,.9), panel.background =element_rect(fill="white"),legend.title=element_blank())