La fonction reshape() permet de modifier le format des données en fonction de la variable qu’on associe au paramètre « direction ». df <- data.frame(id = rep(1:4, rep(2,4)),                  visit = I(rep(c(« Before », »After »), 4)),                  x = rnorm(4), y = runif(4)) df # df est un data.frame de dimension 8 X 4 avec des répétitions  # On simplifie le tableau en enlevant les répétitions df2=reshape(df, timevar = « visit », idvar = « id », direction = « wide »)  # Le paramètre « direction » associé à la valeur « long » permet de récupérer le format original des données. reshape(df2, timevar = « visit », idvar = « id », direction = « long »)  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 →

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://abcdr.thinkr.fr/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 →

Il est parfois utile d’ajouter un niveau, absent à l’intérieur du facteur mais qui est susceptible de devoir être ajouter par la suite. x <- factor(c(« A », »A », »B », »A », »C », »A », »B », »A », »B », »B », »C », »A », »C »)) levels(x) <- c(levels(x), »D ») # On ajoute le niveau “D” au facteur x   On obtient :  x [1] A A B A C A B A B B C A C Levels: A B C DRead 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 →

x<-(« Comment Remplacer Plusieurs Caractères ? ») chartr(« ers », »olm »,x) # On remplace dans le vecteur x les « e » par des « o »                                                                    # les « r » par des « l »                                                                    # et les « s » par des « m » tolower(x) # On met tous les caractères enRead More →

La fonction lapply() permet d’appliquer une fonction à chaque élément d’une liste. Le premier argument est une liste sur laquelle on veut appliquer la fonction placée en deuxième argument (mean, sum, sd, function(x)…). x <- list(a = 1:7, b = runif(n = 5, min = 10, max = 20), booleen = c(TRUE,FALSE,FALSE,TRUE)) y<-lapply(x,mean) #de manière plus générale, cela équivaut à : y<-apply(x,function(x) mean(x)) # on ajoute function(x) devant une les fonctions non-prédéfinies dans R z<-sapply(x,mean) # la fonction sapply est équivalente à lapply # mais lapply retourne une liste tandis que la fonction sapply retourne un vecteur numérique, une matrice ou quand cela n’est pasRead 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 →