# Introduction.r # Chargement des fonctions et packages library(vcdExtra) source("mesofas.r") library(ca) library(MASS) ############################################## # Unil: nombre d'étudiants par sexe et année # ############################################## # Chargement du fichier de fréquence original load("Unil.rda") # Création d'une table et d'un fichier d'observations Unil.table <- xtabs(Unil$effectif~Unil$Sexe+Unil$Année) Unil.table options(digits=3) prop.table(Unil.table,1) options(digits=7) Unil.case <- expand.dft(Unil.table) # Graphiques # bar plot barplot(Unil.table) # mosaic plot mosaic(Unil.table,gp=shading_max) # Table de contingence et test du chi2 Unil.chi2 <- mesofas.chi2(Unil.case$Unil.Sexe,Unil.case$Unil.Année,table=TRUE) Unil.chi2 # V de Cramer Unil.V <- mesofas.V(Unil.case$Unil.Sexe,Unil.case$Unil.Année) Unil.V # d de Somers Unil.d <- mesofas.d(Unil.case$Unil.Sexe,Unil.case$Unil.Année) Unil.d ################### # Syndicalisation # ################### # Chargement du fichier de données load("Syndicalisation.rda") Syndic <- Syndicalisation # Résumé des variables du fichier summary(Syndic) # Analyse factorielle des correspondances Syndic.afcm <- mjca(Syndic) summary(Syndic.afcm) plot(Syndic.afcm,what=c("none","all")) # Tables de contingence options(digits=3) xtabs(~Syndic$sexe+Syndic$syndiqué) prop.table(xtabs(~Syndic$sexe+Syndic$syndiqué),1) xtabs(~Syndic$travail+Syndic$syndiqué) prop.table(xtabs(~Syndic$travail+Syndic$syndiqué),1) xtabs(~Syndic$état_civil+Syndic$syndiqué) prop.table(xtabs(~Syndic$état_civil+Syndic$syndiqué),1) xtabs(~Syndic$expérience+Syndic$syndiqué) prop.table(xtabs(~Syndic$expérience+Syndic$syndiqué),1) # Mesures d'association mesofas.V(Syndic$sexe,Syndic$syndiqué) mesofas.V(Syndic$travail,Syndic$syndiqué) mesofas.V(Syndic$état_civil,Syndic$syndiqué) mesofas.V(Syndic$expérience,Syndic$syndiqué) mesofas.tau(Syndic$sexe,Syndic$syndiqué) mesofas.tau(Syndic$travail,Syndic$syndiqué) mesofas.tau(Syndic$état_civil,Syndic$syndiqué) mesofas.tau(Syndic$expérience,Syndic$syndiqué) options(digits=7) # Modèles log-linéaires # Création d'une table de contingence à 5 dimensions Syndic.table <- xtabs(~Syndic$syndiqué+Syndic$sexe+Syndic$travail+Syndic$état_civil+Syndic$expérience) # Modèle saturé Syndic.sat <- loglm(~Syndic$syndiqué*Syndic$sexe*Syndic$travail*Syndic$état_civil*Syndic$expérience ,data=Syndic.table) Syndic.sat # Procédure backward automatique à partir du modèle saturé # en utilisant le critère BIC (d'où k=log(534)) Syndic.final <- step(Syndic.sat,direction="backward",k=log(534)) Syndic.final$anova summary(Syndic.final) # Régression logistique Syndic.reglog <- glm(Syndic$syndiqué~Syndic$sexe+Syndic$travail+Syndic$état_civil+Syndic$expérience,binomial) summary(Syndic.reglog) ########### # Titanic # ########### # Données load("Titanic.rda") summary(Titanic) # Analyse factorielle des correspondances Titanic.afcm <- mjca(Titanic[,2:5]) summary(Titanic.afcm) plot(Titanic.afcm,what=c("none","all")) # Tables de contingence options(digits=3) xtabs(~Titanic$classe+Titanic$living) prop.table(xtabs(~Titanic$classe+Titanic$living),1) xtabs(~Titanic$age+Titanic$living) prop.table(xtabs(~Titanic$age+Titanic$living),1) xtabs(~Titanic$sex+Titanic$living) prop.table(xtabs(~Titanic$sex+Titanic$living),1) # Mesures d'association mesofas.V(Titanic$classe,Titanic$living) mesofas.V(Titanic$age,Titanic$living) mesofas.V(Titanic$sex,Titanic$living) mesofas.tau(Titanic$classe,Titanic$living) mesofas.tau(Titanic$age,Titanic$living) mesofas.tau(Titanic$sex,Titanic$living) options(digits=7) # Modèles log-linéaires # Création d'une table de contingence à 4 dimensions Titanic.table <- xtabs(~Titanic$classe+Titanic$living+Titanic$age+Titanic$sex) # Modèle saturé Titanic.sat <- loglm(~Titanic$classe*Titanic$living*Titanic$age*Titanic$sex,data=Titanic.table) Titanic.sat # Procédure backward automatique à partir du modèle saturé # en utilisant le critère BIC (d'où k=log(2201)) Titanic.final <- step(Titanic.sat,direction="backward",k=log(2201)) Titanic.final$anova summary(Titanic.final) # Régression logistique Titanic.reglog <- glm(relevel(Titanic$living,2)~relevel(Titanic$classe,4)+Titanic$age+Titanic$sex,binomial) summary(Titanic.reglog)