Créa-blog

Ressources pour développeur web

Tutoriel R : Importation et exportation de données en CSV

Accueil R et Rstudio Tutoriel R : Importation et exportation de données en CSV

L’importation et l’exportation de données sont des tâches essentielles pour tout analyste ou développeur qui travaille avec des données. R offre plusieurs fonctions et packages pour gérer des données provenant de diverses sources. Dans ce chapitre, nous allons explorer comment importer et exporter des données avec R, en se concentrant sur les fichiers CSV, Excel et les bases de données.

Lecture de fichiers CSV

Les fichiers CSV (Comma-Separated Values) sont des fichiers texte qui contiennent des données sous forme de tableau où les colonnes sont séparées par des virgules. C’est l’un des formats de fichiers les plus couramment utilisés pour stocker et échanger des données.

Fonction read.csv()

En R, vous pouvez facilement importer des fichiers CSV en utilisant la fonction read.csv(). Voici la syntaxe de base :

data <- read.csv("chemin/vers/fichier.csv")

Supposons que vous ayez un fichier CSV appelé donnees.csv contenant les informations suivantes :

nom,age,profession
Alice,30,Ingénieure
Bob,25,Data Scientist
Charlie,35,Enseignant

Pour lire ce fichier dans R, vous utiliseriez la commande suivante :

# Lecture du fichier CSV
data <- read.csv("donnees.csv")

# Affichage des données
print(data)

La sortie serait :

      nom age     profession
1   Alice  30      Ingénieure
2     Bob  25 Data Scientist
3 Charlie  35     Enseignant

Options supplémentaires

La fonction read.csv() permet également d'ajuster certains paramètres : sep pour spécifier un séparateur (autre que la virgule, si besoin) et header pour indiquer si la première ligne contient les noms des colonnes (header = TRUE).

Par exemple, si les colonnes sont séparées par des points-virgules ; :

data <- read.csv("donnees.csv", sep = ";")

Lecture de fichiers Excel

R permet également de lire des fichiers Excel, qui sont largement utilisés pour stocker des données. Pour ce faire, il est courant d'utiliser le package readxl.

Installation du package readxl

Si vous ne l'avez pas encore installé, vous pouvez le faire avec cette commande dans la console de RStudio :

install.packages("readxl")

Fonction read_excel()

Une fois le package installé, vous pouvez lire des fichiers Excel avec la fonction read_excel() :

library(readxl)
data <- read_excel("chemin/vers/fichier.xlsx")

Imaginons un fichier Excel donnees.xlsx avec deux colonnes : "nom" et "age". Pour lire ce fichier dans R :

library(readxl)

# Lecture du fichier Excel
data <- read_excel("donnees.xlsx")

# Affichage des données
print(data)

La sortie pourrait ressembler à ceci :

# A tibble: 3 × 2
  nom      age
    
1 Alice     30
2 Bob       25
3 Charlie   35

Options supplémentaires

  • sheet : pour spécifier une feuille particulière du fichier Excel.
  • range : pour sélectionner une plage de cellules spécifiques.

Par exemple, pour lire uniquement la première feuille :

data <- read_excel("donnees.xlsx", sheet = 1)

Connexion à des bases de données

R permet aussi de se connecter à des bases de données, ce qui est utile lorsque les données sont stockées dans des systèmes plus complexes que des fichiers texte ou Excel. Les bases de données courantes incluent MySQL, PostgreSQL et SQLite. Le package DBI est souvent utilisé pour interagir avec ces bases.

Installation des packages nécessaires

Selon le type de base de données que vous utilisez, vous devrez peut-être installer un package supplémentaire. Par exemple, pour une base de données MySQL :

install.packages("DBI")
install.packages("RMySQL")

Exemple concret : Connexion à une base de données MySQL. Supposons que vous ayez une base de données MySQL appelée "entreprise", avec un utilisateur "root" et un mot de passe "password" :

# Chargement des packages
library(DBI)
library(RMySQL)

# Connexion à la base de données
con <- dbConnect(RMySQL::MySQL(), 
                 dbname = "entreprise", 
                 host = "localhost", 
                 user = "root", 
                 password = "password")

# Exécution d'une requête SQL pour lire des données
resultat <- dbGetQuery(con, "SELECT * FROM employes")

# Affichage des résultats
print(resultat)

# Déconnexion
dbDisconnect(con)

Dans cet exemple :

  • dbConnect() établit une connexion à la base de données.
  • dbGetQuery() exécute une requête SQL et retourne les résultats.
  • dbDisconnect() ferme la connexion.

Connexion à d'autres types de bases de données

Pour PostgreSQL, vous utiliseriez le package RPostgreSQL, et pour SQLite, le package RSQLite. La procédure est similaire : vous vous connectez, exécutez des requêtes et vous déconnectez une fois que vous avez terminé.

Exportation de données

Une fois que vous avez manipulé et analysé vos données dans R, vous pouvez vouloir les exporter dans un format que d'autres programmes ou utilisateurs peuvent lire. Les formats d'exportation courants incluent le CSV, Excel et les bases de données.

Exporter vers un fichier CSV avec write.csv()

La fonction write.csv() permet d'exporter des données vers un fichier CSV.

# Exemple de Data Frame
data <- data.frame(nom = c("Alice", "Bob", "Charlie"), age = c(30, 25, 35))

# Exportation du Data Frame dans un fichier CSV
write.csv(data, "export_donnees.csv", row.names = FALSE)

Le fichier export_donnees.csv contiendra les données du Data Frame sous forme de tableau.

Exporter vers un fichier Excel avec writexl

Pour exporter des données dans un fichier Excel, vous pouvez utiliser le package writexl :

install.packages("writexl")
library(writexl)

# Exportation vers Excel
write_xlsx(data, "export_donnees.xlsx")

Cela créera un fichier Excel appelé export_donnees.xlsx.

Exporter vers une base de données

Si vous souhaitez exporter des données dans une base de données, vous pouvez utiliser la fonction dbWriteTable() après avoir établi une connexion à la base de données.

# Connexion à la base de données
con <- dbConnect(RMySQL::MySQL(), dbname = "entreprise", host = "localhost", user = "root", password = "password")

# Création d'un Data Frame
data <- data.frame(nom = c("Alice", "Bob", "Charlie"), age = c(30, 25, 35))

# Exportation des données dans une table MySQL
dbWriteTable(con, "nouveaux_employes", data, row.names = FALSE)

# Déconnexion
dbDisconnect(con)

Dans cet exemple, nous avons créé une nouvelle table appelée nouveaux_employes dans la base de données MySQL, et nous y avons inséré les données du Data Frame.

Dans ce chapitre, nous avons couvert les principales méthodes d'importation et d'exportation de données en R. Que vous travailliez avec des fichiers CSV, Excel ou des bases de données, R fournit des outils puissants pour lire et écrire des données. Les compétences acquises ici vous permettront d'importer facilement vos données dans R pour les analyser, puis de les exporter sous différents formats pour partager vos résultats.

  • Lecture de fichiers CSV avec read.csv()
  • Lecture de fichiers Excel avec read_excel()
  • Connexion à des bases de données avec DBI
  • Exportation de données vers CSV, Excel, ou bases de données

Chapitre 8 : Analyses statistiques en R →