Vous savez comment filtrer un jeu de données avec dplyr ? : filter(), on peut donc utiliser une règle pour filtrer sur les valeurs manquantes (les fameux NA) en utilisant la fonction is.na. library(dplyr) df <- tibble(x1 = c(1, 2, NA, 4), x2 = c(« a », NA, « b », « c »), y = c(NA, TRUE, FALSE, TRUE)) df %>% filter(!is.na(x1)) Mais si vous voulez supprimer les lignes qui contiennent des NA dans plusieurs colonnes, voire toutes les colonnes, il vaut mieux utiliser drop_na du package {tidyr}. Vous pourrez même utiliser les « helpers » comme pour la fonction select de {dplyr} pour choisir les colonnes avec des règles. library(tidyr) dfRead 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 →

jdd <- data.frame(deslettres=letters[1:10],                   desnombres=seq(1:10),                   desfacteurs=c(rep(« oui »,5), rep(« non », 5))) levels(jdd$deslettres) [1] « a » « b » « c » « d » « e » « f » « g » « h » « i » « j » # il y a 10 niveaux pour la variable qualitative « deslettres » # en filtrant sur les nombres…. library(dplyr) unextrait<-filter(jdd,desnombres > 5) levels(unextrait$deslettres) [1] « a » « b » « c » « d » « e » « f » « g » « h » « i » « j » # …le nouveau jeu de données garde les anciens noms de niveaux de « deslettres » Pour s’en débarrasser, depuis R 2.12.0, la fonction droplevels() rend cette opération aisée… # …sur tout le jeu de données :  droplevels(unextrait) summary(unextrait) # …sur une variable en particulier : droplevels(unextrait$deslettres) summary(unextrait) # …sur tout le jeuRead More →

La fonction install.packages() permet de télécharger des packages et de les installer sur l’ordinateur (On ne fait cela qu’une fois). La fonction library() permet ensuite de charger le package et de rendre les fonctionnalités de celui-ci disponibles (Il faut faire cela à chaque fois que l’on ouvre R). install.packages(« lubridate »)    #On télécharge le packages « lubridate » et on l’installe library(lubridate)                  #On charge ce package et on rend les fonctionnalités de celui-ci disponibles  Read More →

R n’aime pas les boucles: c’est long, parfois ca plante..mais surtout c’est long :). Une des fonctions qu’il faut absolument maîtriser est apply. Elle permet de réaliser en parallèle la même opération sur toutes les lignes/ toutes les colonnes d’une matrice ou d ‘un jeu de données. Pour utiliser apply, il faut créer une fonction qui prend en paramètre un vecteur et qui nous ressort une transformation de ce vecteur. que ce vecteur soit de la forme qu’une ligne ou qu’une colonne de notre jeu de données (prendre en compte les variables quali, l’ordre des variables..) lancer apply sur son jeu de données, en précisantRead More →

Pour éviter de se tromper dans l’ordre où les paramètres sont passés à une fonction, il vaut mieux les nommer. Ainsi l’ordre n’importera pas. Cela permet en plus de passer une valeur par défaut. essai<-function(par1=3, par2=20) {print(par1)print(par2)}essai()#[1] 3#[1] 20essai(1,2)#[1] 1#[1] 2essai(par1=1)#[1] 1#[1] 20essai(par2=10)#[1] 3#[1] 10essai(par2=10, par1=4)#[1] 4#[1] 10Read More →