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 →

iris iris_bis <- iris[,-2] # On supprime la 2eme colonne iris_ter <- iris[-20,] # On supprime la 20eme ligne Pour le faire dans le cadre du {tidyverse}, reportez-vous à cette page : https://thinkr.fr/abcdr/comment-supprimer-une-colonne-ou-une-ligne-dans-un-dataframe-avec-le-tidyverse-et-dplyr/Read More →

Les fonctions de la famille apply() et la fonction which() peuvent permettre de compter les éléments identiques, négatifs, positifs ou encore supérieurs ou inférieurs à une certaine valeur dans un data.frame. iris# iris, un tableau de données m <- matrix(data=cbind(rnorm(30, 0), rnorm(30, 2), rnorm(30, 5)), nrow=30, ncol=3) # m, une matrice de données Calculer le nombre d’éléments identiques : ### Dans un tableau :lapply (iris, function(x) length(unique(x))) # retourne une liste sapply (iris, function(x) length(unique(x))) # retourne un vecteur numérique ### Dans une matrice : apply (m, 2,function(x) length(unique(x))) #retourne des entiers Calculer le nombre d’éléments supérieurs ou inférieur à une certaine valeur : ###Read More →

La fonction class() permet d’obtenir la classe d’un objet et la fonction sapply() permet d’appliquer la fonction class() à toutes les colonnes d’un data.frame. iris #On visualise les données sapply(iris,class)   On obtient : sapply(iris,class) Sepal.Length  Sepal.Width  Petal.Length   Petal.Width      Species  « numeric »     « numeric »    « numeric »     « numeric »       « factor »Read More →

Comme on est dans le {tidyverse}, on va utiliser les bons termes : Nous allons utiliser le pipe pour rendre le code plus clair ( Le pipe, qu’est-ce que c’est ? ) On ne travaille plus avec des dataframes, mais avec des tibble: (tibble ou data.frame ?) Et donc on ne supprime pas de ligne, mais on filtre les données en fonction d’une condition. En effet, si vous souhaitez retirer des lignes de données, vous avez sûrement une bonne raison. Cette bonne raison se trouve dans les données elles-mêmes. Vous utilisez donc cette information pour filtrer les données. library(dplyr) iris %>% filter(Species != « setosa ») PourRead More →

Comme on est dans le {tidyverse}, on va utiliser les bons termes : Nous allons utiliser le pipe pour rendre le code plus clair ( Le pipe, qu’est-ce que c’est ? ) On ne travaille plus avec des dataframes, mais avec des tibble: (tibble ou data.frame ?) Et donc on ne supprime pas de ligne, mais on filtre les données en fonction d’une condition. En effet, si vous souhaitez retirer des lignes de données, vous avez sûrement une bonne raison. Cette bonne raison se trouve dans les données elles-mêmes. Vous utilisez donc cette information pour filtrer les données. library(dplyr) iris %>% filter(Species != « setosa ») PourRead More →

Une anova avec modèle mixte comme VARCOMP dans SAS Créons d’abord un jeu de données. On souhaite déterminer la précision et la répétabilité d’une analyse. Pour cela, la mesure est effectuée par 2 techniciens différents, sur des concentrations de produits différents sur 3 jours différents et avec 2 réplicats. library(dplyr) set.seed(42) data <- tibble( concentration = rep(c(10, 30, 50, 80), 3*2), technicien = rep(c(« A », « B »), each = 3*2*2), jour = rep(rep(1:3, each = 2*2), 2), replicat = rep(1:2, times = 2*3*2)) %>% mutate(mesure = ifelse( technicien == « A », 0.2 * concentration + rnorm(12, sd = 3), 0.2 * concentration + rnorm(12, sd = 2))) dataRead More →

Un shapefile est un fichier d’information géographique avec un format vectoriel. Il permet de représenter des points (e.g. villes), des lignes (e.g. routes) et des polygones (e.g. départements) avec un système d’information géographique. Le format shapefile est composé de plusieurs fichiers séparés (4 minimum): data.shp : informations de géométrie (coordonnées) data.prj : information de système de projection data.dbf : table des attributs data.shx : indice de position des géométries Dans R, deux packages majeurs sont utilisés pour manipuler les données géographiques de type vectoriel: {sp} : Le package de référence. Il utilise notamment la librairie {rgdal} pour lire les données géographiques, un package utilisant laRead More →

Un shapefile est un fichier d’information géographique avec un format vectoriel. Il permet de représenter des points (e.g. villes), des lignes (e.g. routes) et des polygones (e.g. départements) avec un système d’information géographique. Le format shapefile est composé de plusieurs fichiers séparés (4 minimum): data.shp : informations de géométrie (coordonnées) data.prj : information de système de projection data.dbf : table des attributs data.shx : indice de position des géométries Dans R, deux packages majeurs sont utilisés pour manipuler les données géographiques de type vectoriel: {sp} : Le package de référence. Il utilise notamment la librairie {rgdal} pour lire les données géographiques, un package utilisant laRead More →

Il s’agit d’un des formats de graphiques les plus populaires : le barplot est simple à réaliser, encore plus avec ggplot2. Du moins, si l’on connait ses spécificités. Package du tidyverse, {ggplot2} est un outil de visualisation ultra célèbre parmi les utilisateurs de R. Et pour cause, même si sa syntaxe peut surprendre à première vue, les résultats obtenus sont haut-de-gamme. Alors, comment réaliser un barplot ? Tout simplement avec le geom geom_bar(). À noter que vous pouvez l’utiliser pour deux formats de barplots, qui demandent chacun d’adapter votre code. Pour compter les occurences d’une variable, vous avez besoin de seulement spécifier en x laRead More →