Les fonctions acast() et dcast() associées à la fonction melt(), du package reshape2, permettent d’obtenir une table de contingence. library(reshape2) # On charge le package reshape2 airquality aqm <- melt(airquality, id=c(« Month », « Day »), na.rm=TRUE) #On passe d’un format “Wide” à un format “Long” #Pour un array acast(aqm, Month ~ variable, mean) #On obtient une table de contingence contenant la moyenne de chaque variable en fonction du mois acast(aqm, Month ~ variable, mean, margins = TRUE) #On ajoute les moyennes de chaque variable pour l’ensemble des mois #et les moyennes de chaque mois pour l’ensemble des variables #Pour un data.frame dcast(aqm, Month ~ variable, mean, margins =Read More →

La fonction ddply(), faisant partie du package plyr, permet d’appliquer une fonction à une ou plusieurs colonnes d’un data.frame en fonction des modalités d’une ou deux variables, et d’ajouter ces données à ce data.frame. library(plyr)        # On charge le package plyr #On construit un data.frame : dfx <- data.frame(     group <- c(rep(‘A’, 8), rep(‘B’, 15), rep(‘C’, 6)),     sex <- sample(c(« M », « F »), size = 29, replace = TRUE),     age <- runif(n = 29, min = 18, max = 54))   ddply(dfx, .(group, sex), mutate,     mean = round(mean(age), 2),     sd = round(sd(age), 2)) # On obtient laRead More →

La fonction ddply(), faisant partie du package plyr, permet d’appliquer une fonction à des subdivisions d’un data.frame library(plyr) # On charge le package plyr # On construit un data.frame dfx <- data.frame(     group <- c(rep(‘A’, 8), rep(‘B’, 15), rep(‘C’, 6)),     sex <- sample(c(« M », « F »), size = 29, replace = TRUE),     age <- runif(n = 29, min = 18, max = 54)) ddply(dfx, .(group), summarize,       mean = round(mean(age), 2),       sd = round(sd(age), 2)) # On obtient la moyenne et l’écart type associé à l’âge en fonction du groupe ddply(dfx, .(group, sex), summarize,    Read More →

Les données manquantes empêchent R de réaliser des opérations comme la moyenne ou la somme appliquée à un vecteur par exemple. Pour que le logiciel puisse les réaliser il est nécessaire d’ajouter le paramètre na.rm afin que les données manquantes soient prises en compte en tant que telles.Read More →

Les données manquantes empêchent R de réaliser des opérations comme la moyenne ou la somme appliquée à un vecteur par exemple. Pour que le logiciel puisse les réaliser il est nécessaire d’ajouter le paramètre na.rm afin que les données manquantes soient prises en compte en tant que telles. x<-c(1,NA,4.3,8,NA,9.5,3.1)      # x est un vecteur contenant des données manquantes sum(x)                                # Renvoie « NA », la fonction sum() ne prend pas en compte les données manquantes sum(x, na.rm=TRUE)              # Renvoie la somme. Le paramètre « na.rm »Read More →

Considérons un exemplela masse des larves de papillons varie avec la température et de la nourriture (plante)Pour tracer un barplot avec les barres d’erreur de ces deux facteurs : attach(data)mean.mass<-tapply(mass,list(T,H),mean)       # calcul de la moyenne pour chaque groupe sd<-tapply(mass,list(T,H),sd)                         # ou T est le facteur Température et H le facteur plantelength<-tapply(DTp,list(T,H),length)sqrt<-sqrt(length)length<-as.numeric(length)se<-sd/sqrt                                                   #calcul de l’erreur standard pour chaque groupegraphemass<-barplot(mean.mass,beside=TRUE,density=c(0,30),col=1,ylim=c(0,15.2),font=3,ylab="masse (mg)",)library(nmle)                                                #nécessaire pour appeler la fonction "segments" segments(graphemass, mean.mass -se,graphemass, mean.mass +se)       segments(graphemass-0.1, mean.mass -se,graphemass+0.1, mean.mass -se)segments(graphemass-0.1, mean.mass +se,graphemass+0.1, mean.mass +se)]Read More →

Considérons un exemplela masse des larves de papillons varie avec la température et de la nourriture (plante)Pour tracer un barplot avec les barres d’erreur de ces deux facteurs : attach(data)mean.mass<-tapply(mass,list(T,H),mean)       # calcul de la moyenne pour chaque groupe sd<-tapply(mass,list(T,H),sd)                         # ou T est le facteur Température et H le facteur plantelength<-tapply(DTp,list(T,H),length)sqrt<-sqrt(length)length<-as.numeric(length)se<-sd/sqrt                                                   #calcul de l’erreur standard pour chaque groupegraphemass<-barplot(mean.mass,beside=TRUE,density=c(0,30),col=1,ylim=c(0,15.2),font=3,ylab= »masse (mg) »,)library(nmle)                                                #nécessaire pour appeler la fonction « segments » segments(graphemass, mean.mass -se,graphemass, mean.mass +se)       segments(graphemass-0.1, mean.mass -se,graphemass+0.1, mean.mass -se)segments(graphemass-0.1, mean.mass +se,graphemass+0.1, mean.mass +se)]Read More →

Le diagramme Quantile-Quantile est un outil graphique qui permet de comparer la pertinence de l’ajustement de données à un modèle théorique (loi de probabilité). Cela peut se révéler très pratique pour analyser la normalité des résidus d’un modèle linéaire par exemple. Cet outil permet également de comparer deux distributions : un alignement selon la première bissectrice indique la présence d’une identité de loi. R présente des fonctions de bases permettant de tracer des QQplot : qqplot produit un QQplot de deux jeux de donnéesqqnorm produit un QQplot pour une loi normaleqqline trace la droite de Henry Voyons un exemple d’utilisation #nombres aléatoires tirés d’une loi#normaleRead More →

Le diagramme Quantile-Quantile est un outil graphique qui permet de comparer la pertinence de l’ajustement de données à un modèle théorique (loi de probabilité). Cela peut se révéler très pratique pour analyser la normalité des résidus d’un modèle linéaire par exemple. Cet outil permet également de comparer deux distributions : un alignement selon la première bissectrice indique la présence d’une identité de loi. R présente des fonctions de bases permettant de tracer des QQplot : qqplot produit un QQplot de deux jeux de donnéesqqnorm produit un QQplot pour une loi normaleqqline trace la droite de Henry Voyons un exemple d’utilisation #nombres aléatoires tirés d’une loi#normaleRead More →

R possède de nombreuses fonctions de base souvent bien utiles, en voici quelques unes. On crée deux vecteurs : a<-c(1,2,3,4,5,6,7,8,9,10)b<-c(11,12,13,14,15,16,17,18,19,20) Longueur des vecteurs : length(a)length(b) Minimum et maximum : min(a)min(b)max(a)max(b) Etendue : range(a)range(b) Moyenne et médiane : mean(a)mean(b)median(a)median(b) Quantile et écart inter-quantile : quantile(a)quantile(b)IQR(a)IQR(b) Variance et écart-type : var(a)var(b)sd(a)sd(b) Concaténation de a et b : c<-c(a,b)cd<-c(b,a)d Somme des éléments du vecteur, produit, différence des éléments consécutifs du vecteur, somme cummulée : v<-c(1,2,3,4)sum(v) #1+2+3+4prod(v) #1*2*3*4diff(v) #2-1,3-2,4-3cumsum(v) #1, 1+2, 1+2+3, 1+2+3+4Read More →