read.csv2("nutrition.csv") #importer le fichier excel nut<-read.csv2("nutrition.csv") #rendre le fichier excel un objet de R attach(nut)# indiquer les colonnes ####structurer les variables #Structurer les variables qualitatives sexe <- as.factor(sexe) levels (sexe) <- c ("Homme", "Femme") situation <- as.factor(situation) levels(situation) <- c("seul", "couple", "famille", "autre") matgras <- as.factor(matgras) levels(matgras) <- c("beurre", "margarine", "arachide", "tournesol", "olive", "Isio4", "colza", "canard") #Structurer les variables ordinales viande <- as.ordered(viande) poisson <- as.ordered(poisson) fruit_crus <- as.ordered(fruit_crus) fruit_legume_cuits <- as.ordered(fruit_legume_cuits) chocol <- as.ordered(chocol) niveaux <- c ("jamais", "< l/sem.", "l/sem.", "2-3/sem. ","4-6/sem. ", "l/jour") > levels(chocol) <- levels(fruit_legume_cuits) <-levels (fruit_crus) <- niveaux > levels(poisson) <- levels(viande) <- niveaux #Structurer les variables quantitatives discretes the <- as. integer (the) cafe <- as. integer (cafe) #Structurer les variables quantitatives continues taille <- as.double(taille) poids <- as.double(poids) age <- as.double(age) ####### Tableaux croisant deux variables #############Tableaux de contingence > matable <- table(sexe,situation) > matable > table. complete <- addmargins(matable,FUN=sum,quiet=TRUE) > table. complet ############# Distribution conjointe > tableaufreq <- matable/sum(matable) > tableaufreq > Total <- sum > addmargins(tableaufreq,FUN=Total,quiet=TRUE) #############Distribution marginalesconjointe > margin.table(tableaufreq,l) # Marge de droite. > margin.table(tableaufreq,2) # Marge du bas. ############# Distribution Conditionelle > prop.table(matable,l) > addmargins(prop.table(matable,1),margin=2,FUN=sum) ## Distributions conditionnelles de sexe sachant les valeurs de situation: > prop.table(matable,2) > addmargins(prop.table(matable,2),margin=1,FUN=sum) #################################################### ######### Indicateurs Numériques ############### Mesures de liaison entre deux variables qualitatives #######################La statistique du Khi-deux de Pearson > khi2 <- summary(table(sexe,matgras))$statistic > khi2 ########################Coefficient de contingence de Pearson > sexematgras <- table(sexe,matgras) # Tableau de contingence observé. > q <- ncol(sexematgras) ###############Mesures de liaison entre deux variables ordinales ########################Le coefficient de Kendall > cor(as.numeric(viande),as.numeric(poisson),method="kenda11") ################# Mesures de liaison entre deux variables quantitatives ########################Coefficient de corrélation de Pearson > cor(taille,poids) ####################### Covariance > cov(taille,poids) ################## Mesures de liaison entre une variable quantitative une ##################variable qualitative ########################## Le rapport de corrélation > eta2 <- function(x, gpe) { moyennes <- tapply(x, gpe, mean) effectifs <- tapply(x, gpe, length) varinter <- (sum(effectifs * (moyennes - mean(x))A2)) vartot <- (var(x) * (length (x) - 1)) res <- varinter/vartot return (res) } > eta2(poids,sexe) ################################################################################ » » » » » » » » » » ######Représentations graphiques ##########Croisement de deux variables qualitatives > tss <- prop.table(table(sexe,situation),l) > barplot(tss,bes=T,leg=T) > title(paste("Diagrammes en tuyaux d'orgue de la situation", "en fonction du + sep="\n")) > fleches(F,T) ############### > par(las=l) # Ecriture horizontale des modalites. > mosaicplot (sexe-matgras,color=brewer.pal (5, "Setl"),+ main="Mosaicplot de matgras en fonction de age") ######## Croisement de deux variables quantitatives > plot(taille~poids) > fleches () ######## Croisement d’une variable qualitative et une variable ########quantitative > par(bty="n") > plot (cafe-sexe,col=brewer.pal(S, "Set2"),notch=T,varwidth=T, boxwex=O.3) > title(paste("Boxplot de la consommation de cafe", "en fonction du sexe",sep="\n"),family="Courier") > fleches(F,T)