Export de tableaux de données

On peut avoir besoin d’exporter un tableau de données dans R vers un fichier dans différents formats. La plupart des fonctions d’import disposent d’un équivalent permettant l’export de données. On citera notamment :

  • write_csv, write_delim, write_tsv (readr)permettent d’enregistrer un data frame ou un tibble dans un fichier au format texte délimité
  • write_sas (haven) permet d’exporter au format SAS
  • write_sav (haven) permet d’exporter au format SPSS
  • write_dta (haven) permet d’exporter au format Stata

L’extension readxl ne fournit pas de fonction pour exporter au format Excel. Par contre, on pourra passer par la fonction write.xlsx de l’extension openxlsx ou la fonction write.xlsx de l’extension xlsx. L’intérêt de l’extension openxlsx est de ne pas dépendre de Java à la différence de l’extension xlsx.

Pour le format dBase, on peut utiliser write.dbf (foreign).

Ces fonctions sont utiles si on souhaite diffuser des données à quelqu’un d’autre, ou entre deux logiciels.

Si vous travaillez sur des données de grandes dimensions, les formats texte peuvent être lents à exporter et importer. Dans ce cas, l’extension feather peut être utile : elle permet d’enregistrer un data frame au format feather, qui n’est pas le plus compact mais qui est extrêmement rapide à lire et écrire 1.

Les fonctions read_feather et write_feather permettent d’importer et exporter des tableaux de données dans ce format.

Exporter des objets spatiaux

On aura recours à l’extension maptools qui fournit les fonctions writePointsShape | maptools, writeLinesShape et writePolyShape pour exporter des données respectivement de type points, lignes et polygones au format Shapefile, et la fonction writeAsciiGrid pour exporter un objet raster au format ASCII grid.

Sauvegarder des objets

Une autre manière de sauvegarder des données est de les enregistrer au format RData. Ce format propre à R est compact, rapide, et permet d’enregistrer plusieurs objets R, quel que soit leur type, dans un même fichier.

Pour enregistrer des objets, il suffit d’utiliser la fonction save et de lui fournir la liste des objets à sauvegarder et le nom du fichier :

save(d, rp2012, tab, file = "fichier.RData")

Pour charger des objets préalablement enregistrés, utiliser load :

load("fichier.RData")

Les objets d, rp2012 et tab devraient alors apparaître dans votre environnement.

Attention, quand on utilise load, les objets chargés sont importés directement dans l’environnement en cours avec leur nom d’origine. Si d’autres objets du même nom existaient déjà, ils sont écrasés sans avertissement.

R propose différentes fonctions permettant d’exporter des données vers des formats variés.

Type de fichier souhaité Fonction Extension
texte write.table utils
CSV write.csv utils
CSV write_csv readr
Excel write.xlsx xlsx
dBase write.dbf foreign
SPSS write_sav haven
SPSS write.foreign foreign
Stata write.dta foreign
Stata write_dta haven
SAS write.foreign foreign
SPSS write.foreign foreign

À nouveau, pour plus de détails on se référera aux pages d’aide de ces fonctions et au manuel R Data Import/Export accessible à l’adresse suivante : http://cran.r-project.org/manuals.html.


  1. feather est un format compatible avec Python, R et Julia. Pour plus d’informations voir https://github.com/wesm/feather↩︎