Importer un fichier .csv en R

L'import de fichier .csv : une fonctionnalité native de R

Deux fonctions permettent d'importer des fichiers .csv dans votre environnement R : read.csv() et read.table().

Import d'un fichier .csv en R avec read.csv()

La fonction read.csv est une fonction de base du langage R. Elle se décompose de la manière suivante.

monDataset <- read.csv(fichierCSV)

Cette instruction aura pour effet de transformer votre fichier .csv en dataset. Celui-ci sera enregistré dans l'environnement sous le nom monDataset. Vous pourrez ainsi parcourir ses données et les manipuler dans vos scripts R.

D'autres arguments sont disponibles pour une utilisation plus poussée de la fonction read.csv(). Voici les principaux :

sheet = 1 # Le nom ou l'index de la feuille à lire
startRow = 1 # Le numéro de la première ligne à lire
colNames = TRUE # paramétré de base en TRUE, définit la première ligne comme l'entête du dataframe
rowNames = FALSE # paramétré de base en FALSE, sélectionne la première colonne comme nom de ligne

 

L'usage de ces arguments peut être très important, notamment dans le cas d'importation de fichiers .csv ne respectant pas la norme décimale anglo-saxonne.

Pour contrer ces problèmes de compatibilités, une variante read.csv2() existe en utilisant par défaut les valeurs sep = ";" et dec = ",". La fonction read.csv2() est nativement plus adapté aux fichiers séparés par un ;.

Import d'un fichier .csv en R avec read.table()

De manière générale, la fonction read.table() a le même comportement que la fonction read.csv(). En effet, read.csv() est globalement une version de read.table() à laquelle des paramètres par défaut ont été attribués.

Pour lire un fichier .csv avec read table, la structure de base reste la même, à savoir :

read.table(file)

 

Cependant, la fonction read.table() ne mentionne pas par défaut les délimiteurs spécifiques aux fichiers .csv. Cette instruction aura donc pour effet d'enregistrer un dataset d'une colonne dont l'entête n'est pas définie.

Pour obtenir le même résultat qu'avec la fonction read.csv() et obtenir un dataframe séparé, il est nécessaire de renseigner les attributs suivants :

read.table(file, header = TRUE, sep = ",", quote = """, dec = ".", fill = TRUE, comment.char = "")

 

Ainsi, la fonction read.table() sera plus adaptée aux formats de fichiers plus exotiques, même si les paramètres modifiables de la fonction read.csv() permettent de contourner ces problématiques.

Article précédent
Fusionner 2 datasets

A propos de l'auteur

David Looses

David Looses est consultant en référencement sénior à l'agence SEO de Lille Aseox. Il est passionné par le langage R et est spécialiste du traitement des données.