sciences = read.csv("sciences.csv",header=TRUE,sep=";") for (k in 1:dim(sciences)[2]){sciences[,k] = as.factor(sciences[,k])} barplot(table(sciences$A)) # Attention la modalité 5 est plus rare que les autres, ça peut "biaiser" l'analyse factorielle barplot(table(sciences$sex)) # autant d'hommes que de femmes barplot(table(sciences$age)) S.CA = MCA(sciences) # on remarque un effet Guttman ; ceci est vraisemblablement dû à la forte dépendance entre les variables A, B et C table(sciences$A,sciences$C) # On observe qu'en effet la diagonale est assez forte ainsi que la sur (et sous) diagonale. # C'est à dire que les personnes qui on répondu 1 pour A vont majoritairement répondre 1 pour C. S.edu = MCA(sciences[,c("A","D","edu")]) # 3 variables, 15 modalités # On conserve au maximum .... # 3 variables : on va conserver les axes qui ont une valeur propre supérieure à 1/3 barplot(S.edu$eig[,1]) abline(h= .3) par(mfrow=c(1,2)) plot(S.edu,invisible="ind") plot(S.edu,invisible="ind",axes=c(3,4)) barplot(table(sciences[,"D"])) barplot(table(sciences[sciences$D==1,"edu"])) # Les variables A et D ont la presque même répartition conditionnellement # au niveau d'éducation par(mfrow=c(1,2)) image(1:5,1:5,table(sciences$A, sciences$edu)) image(1:5,1:5,table(sciences$D, sciences$edu)) # On peut donc conserver une seule des deux variables S.edu = MCA(sciences[,c("A","edu")]) par(mfrow=c(1,2)) plot(S.edu,invisible="ind") plot(S.edu,invisible="ind",axes=c(3,4)) # On met en évidence une forte dépendance entre les réponses à la question A et la variable education. S.edu = MCA(sciences[,c("A","edu","sex")]) par(mfrow=c(1,2)) plot(S.edu,invisible="ind") plot(S.edu,invisible="ind",axes=c(3,4)) # L'introduction de la variable sexe ne change pas vraiment les résultats. # On note que les hommes sont, en moyenne, plus éduqués que les femmes. # Ils vont donc répondre davantage A5 que les femmes. par(mfrow=c(1,2)) barplot(table(sciences[sciences$sex==1,"A"])) title("hommes") barplot(table(sciences[sciences$sex==2,"A"]),title="femmes") title("femmes") par(mfrow=c(1,2)) image(1:5,1:6,table(sciences[sciences$sex==1,"A"], sciences[sciences$sex==1,"edu"]),xlab="A",ylab="edu") title("hommes") image(1:5,1:6,table(sciences[sciences$sex==2,"A"], sciences[sciences$sex==2,"edu"])) title("femmes") # A niveau d'éducation égal (ex edu=2 ou 3), les homes répondent un peu plus souvent A3 que les femmes.