En statistique, les données constituent le point de départ de toute analyse. De fait, il est primordial de savoir maîtriser des opérations telles que l’importation, l’exportation, les changements de types, de savoir repérer les individus possédant des valeurs manquantes, concaténer les niveaux d’un facteur, etc.
Nous allons, au sein de cette partie, voir comment réaliser ces différentes opérations.
Importez vos données
Les données sont initialement collectées, voire prétraitées, avec un logiciel, que ce soit un tableur ou un logiciel de statistiques. Chaque logiciel possédant son propre format de stockage, le plus simple est d’échanger les données par un format commun à tous, c’est-à-dire le format texte (extension .txt ou .csv).
Les données sont en général contenues dans un fichier avec les individus en lignes et les variables en colonnes. Le format texte est constitué de données qui sont toutes séparées par un séparateur de colonnes. Par exemple, si vous considérez le fichier suivant, il regroupe la mesure de quatre variables (âge, sexe, taille et poids) pour plusieurs individus et le séparateur de colonnes utilisé est le ;
. La première colonne représente l’identifiant des individus, ici leur prénom : tous les prénoms doivent donc être différents. Cet identifiant est en général une chaîne de caractères ou le numéro de l’individu. Dans certains cas, les individus n’ont pas d’identifiant et/ou les variables n’ont pas de nom. Dans ce cas, les identifiants seront juste les numéros de ligne de l’individu et les variables seront définies de V1
à Vn
, avec n
le nombre de colonnes du fichier texte.
Pour pouvoir lire un fichier texte, il suffit d’utiliser la fonction read.table
:
dt1 <- read.table("dataframe1.txt", sep=";", row.names=1, header=TRUE)
dt1
# age sexe taille poids
# Raoul 21 M 172 80
# Fred 22 M 185 85
# Dominique 20 F 179 75
# Rachel 22 F 165 69
Les arguments classiques de cette fonction sont :
sep
: permet d’indiquer à R le caractère qui sépare les colonnes au sein du fichier texte. Ici l’on précise que c’est;
, mais pour un espace, on utilise" "
, et pour une tabulation"\t"
.header
: indique si la première ligne contient ou non les intitulés des variables. Par définition, cet argument est à FALSE (c’est-à-dire qu’il n’ira pas chercher par défaut les noms des colonnes dans la première ligne ; il faut lui attribuer la valeur TRUE pour changer cela).dec
: indique le séparateur décimal, par défaut à.
. Si vous utilisez un fichier issu par exemple d’un tableur Excel français, il se peut que vous ayez à changer cet argument à,
.row.names
: indique si une colonne contient les identifiants des lignes. Lorsqu’il n’y a pas de nom de colonnes, R les crée en attribuant à chaque individu son numéro de ligne.
Quelquefois, il peut arriver que certaines informations soient manquantes dans votre fichier texte, pour différentes raisons. Dans ce cas-là, vous l’aurez surement deviné, R remplace la valeur par un NA
. Considérons le fichier ozone.csv ; nous l’importons :
ozone <- read.table("ozone.csv",sep=";",header=TRUE,dec=",", row.names=1)
dim(ozone)
# [1] 112 13
ozone[1:3, ]
# maxO3 T9 T12 T15 Ne9 Ne12 Ne15 Vx9 Vx12 Vx15 maxO3v vent pluie
# 601 87 15.6 18.5 18.4 4 4 8 0.6946 -1.7101 -0.6946 84 Nord Sec
# 602 82 17.0 18.4 17.7 5 5 7 -4.3301 -4.0000 -3.0000 87 Nord Sec
# 603 92 15.3 17.6 19.5 2 5 4 2.9544 1.8794 0.5209 82 Est Sec
L’option quote
(non utilisée dans notre exemple) permet de contrôler les caractères qui entourent éventuellement une chaîne de caractères. Par défaut, il s’agit du double ou du simple guillemet. Pour d’autres options permettant de contrôler finement l’importation, on se reportera à l’aide de la fonction read.table
, accessible via la commande ?read.table
.
Gérez les erreurs d’importation
Remarquons que le résultat de l’importation est toujours un objet de type dataframe. Les types de variables sont « devinés » par la fonction d’importation qui peut se tromper. Il est donc nécessaire de vérifier le type de chacune des variables grâce à la fonction summary
. Sur le tableau issu de l’importation précédente, nous avons :

Ici, les types de variables sont corrects, toutes les variables sont quantitatives sauf vent et pluie. Le cas échéant, il est nécessaire de changer le type de la variable.
Parfois, lorsque l’importation ne fonctionne pas, l’erreur peut provenir du fichier texte lui-même. Répertorions quelques chausse-trappes habituels lorsque vous importerez un dataframe :
séparateur de colonnes mal spécifié ;
séparateur décimal mal spécifié (les variables risquent d’être considérées comme qualitatives) ;
tabulation qui remplace un blanc ;
problème dans un guillemet non fermé.
Dans le dernier cas, il est souvent difficile de trouver l’erreur. RStudio permet maintenant des importations de tous les types de fichiers en utilisant l’onglet Import Dataset, situé dans le coin supérieur droit :

Il est maintenant possible de choisir le type de fichier (texte, Excel, SAS), il suffit de se laisser guider.
En résumé
Les tableaux de données peuvent être stockés dans un fichier texte délimité.
Vous pouvez importer ces fichiers sous la forme d’un dataframe via la fonction
read.table
.Il faut être vigilant dans le choix des arguments lors de l’importation pour ne pas se retrouver avec un résultat non souhaité ou pire, une erreur.
La fonction
summary
nous permet d’avoir un aperçu global d’un dataframe et des différents types de chaque colonne, après importation.
Maintenant que vous savez comment importer des fichiers externes, nous allons voir comment les exporter et les sauvegarder, pour pour pouvoir les réutiliser dans une session future !