Commençons par un point important : un tibble est un data.frame… mais un data.frame amélioré ! Élément central du tidyverse, cette forme diffère des data.frame natifs dans deux comportements : l’affichage : les tibbles s’adaptent à l’écran, et chaque colonne affiche son type. la sélection : elle est plus stricte dans un tibble — elle ne se fait jamais en partial match, et un message d’erreur s’affiche lorsque vous sélectionner un élément qui n’existe pas. Pour créer un tibble, deux solutions : la conversion depuis un data.frame, ou la création à la main. library(tibble) data(« swiss ») as_tibble(swiss) tibble(x = 1:4, y = 5:8)Read More →

Vous avez besoin d’un résumé rapide sur une ou plusieurs variables de votre tableau ? Direction la fonction summarise (ou summarize, selon vos affinités). data(« who ») who %>% summarise(minimum = min(year)) Notez qu’il est possible de combiner plusieurs résumés dans cette fonction. who %>% summarise(minimum = min(year), maximum = max(year))Read More →

Pour ordonner un tableau en fonction d’une colonne, faites appel à arrange(), issu de dplyr. Cette fonction prend en premier argument l’objet contenant le tableau, puis la colonne qui servira de base pour votre tri. data(« midwest ») midwest %>% arrange(poptotal) Par défaut, la colonne est triée en ordre croissant. Un comportement que vous pouvez modifier avec desc(). midwest %>% arrange(desc(poptotal))Read More →

Votre jeu de données est trop grand ? Vous avez trop de colonnes ? Vous pouvez en sélectionner très simplement avec la fonction select() de dplyr. Comme toutes les fonctions du tidyverse, le premier argument est l’objet contenant le jeu de données. Puis, il suffit d’entrer le nom des colonnes à conserver. library(dplyr) data(« smiths ») select(smiths, subject, age)Read More →

Avec ce package du tidyverse, vous pouvez filtrer votre jeu de données pour ne retenir que les valeurs qui vous intéressent, grâce à la fonction filter(). Cette fonction prend en paramètres votre objet contenant un tableau de données, puis une ou plusieurs variable(s) avec leurs filtres. Vous pouvez utiliser tous les opérateurs classiques (==, !=, >, <, etc.) data(women)women %>% filter(height == 59)women %>% filter(height > 59 & weight < 139) Vous pouvez également « piper » vos filtres. Utile pour une meilleure lisibilité, si vous voulez combiner beaucoup de conditions (mais vous aurez plus de ligne  : women %>% filter(height > 59) %>% filter(weight < 139)Read More →

La fonction PCA() permet d’effectuer une ACP. library(FactoMineR) res_pca <- PCA (iris, quali.sup=5) #On réalise une ACP sur les 4 variables quantitatives du jeu de données iris #La 5ème variable qui correspond au nom de la variété est qualitative #Nous plaçons cette variable en supplémentaire, #cette variable ne participera donc pas à la construction de l’ACP, #mais elle apportera de l’information supplémentaire   plot.PCA(res_pca,col.quali= »blue », label= »quali ») #La fonction plot.PCA contient de nombreux paramètres modulables #ici nous choisissons la couleur de la variable qualitative #et de cacher l’étiquette des individus grâce au paramètre « label »   Pour pouvoir décrire les résultats de cette analyse nous avons besoin d’étudierRead More →

Le test de Fisher-Snedecor permet de savoir si les variances de deux populations (δ1² et δ2²) sont égales ou non. L’hypothèse H0 testée correspond à δ1²= δ2². Pour réaliser ce test il est nécessaire d’avoir un échantillonnage aléatoire de chaque individu et que les ces deux échantillons suivent une loi Normale. On utilise pour tester cette hypothèse la fonction var.test(). data(iris) A<-subset(iris,Species== »setosa »)[,2] #On isole la 2ème colonne : la largeur des sépales   On commence par tester la normalité de cette variable grâce au test de Shapiro : shapiro.test(A)           Shapiro-Wilk normality test   data:  A W = 0.9717, p-value = 0.2715   La p-valueRead More →

La fonction recast(), du package reshape2, permet d’obtenir une table de contingence en une seule étape à partir d’un data.frame. La fonction renvoie un data.frame.   library(reshape2) # On charge le package reshape2   airquality#En 2 étapes :  aqm <- melt(airquality, id=c(« Month », « Day »), na.rm=TRUE) #On passe d’un format “Wide” à un format “Long” dcast(aqm, Month ~ variable, mean, margins = TRUE) #On obtient une table de contingence contenant la moyenne de chaque variable en fonction du mois  #En 1 seule étape :  recast(airquality, Month~ variable, id.var = 5:6, mean, na.rm=TRUE, margins=TRUE) #La fonction recast() permet d’obtenir une table de contingence en 1 seule étape  Read More →

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 →

La fonction outer() permet d’appliquer une fonction à chaque couple de deux vecteurs. La fonction outer() retourne une matrice de la forme M(i, j) = f (xi , yj) où x et y sont des vecteurs et f une fonction de deux variables → f (x, y) #On crée deux vecteurs : A <- sample(5) A B <- c(2,6) outer(A,B, FUN= »+ ») #On ajoute chaque élément de A et de B 2 à 2    On obtient : outer(A,B,FUN= »+ »)      [,1] [,2] [1,]    5    9 [2,]    7   11 [3,]    6   10 [4,]    3    7 [5,]    4    8     Mois <-c(« Janv », »Fev », »Mars ») Année <- 2008:2010 outer(Mois,Année,FUN= »paste », sep= »-« )Read More →