La fonction colsplit(), qui fait partie du package reshape2, permet de séparer des éléments d’un vecteur en plusieurs colonnes et de retourner un data.frame. Cela peut être utile lorsqu’on a une combinaison de deux variables associées et séparées par un espace, un « – » ou encore un « _ ». Library(reshape2)   x <- c(« Jan-2001 », « Fev-2001 », « Mar-2002 », « Dec-2005 ») vars <- colsplit(x, « -« , c(« Mois », « Annee »))#On sépare les deux variables « Mois » et « Année » contenues dans x et séparées par un « – »  vars   Mois Annee 1  Jan  2001 2  Fev  2001 3  Mar  2002 4  Dec  2005   str(vars) ‘data.frame’:   4 obs. of  2 variables:  $ Mois : chr Read More →

Les fonctions table() et xtabs() permettent d’obtenir directement un tableau croisé à partir des colonnes d’un data.frame sechage <- factor(c(rep(« lent »,5),rep(« rapide »,5))) marque <- factor(c(rep(« Mer »,3),rep(« Cim »,3),rep(« vex »,4)))   ciment <- cbind.data.frame(sechage,marque) #On colle les deux variables pour obtenir un data.frame  xtabs(~sechage+marque,data=ciment)  table(ciment$sechage,ciment$marque) #Les fonctions table() et xtabs() sont équivalentes On obtient : table(ciment$sechage,ciment$marque)            Cim Mer vex   lent     2   3   0   rapide   1   0   4  Read More →

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 →