Chapitre 4 Imports
L’importation des données est l’une des premières étapes dans toute analyse de données avec R. R propose plusieurs méthodes pour charger vos fichiers dans l’environnement de travail, allant de l’interface graphique à l’utilisation de fonctions programmatiques. Nous allons voir les différentes options disponibles.
En Excel, l’équivalent d’un import correspond simplement à l’ouverture du fichier.
4.1 Importation via l’interface graphique de RStudio
RStudio facilite l’importation de données grâce à un bouton intuitif :
Bouton “Import Dataset” :
- Dans la fenêtre “Environment”, cliquez sur le bouton Import Dataset.
- Vous aurez alors la possibilité de choisir l’origine de vos données : un fichier CSV, Excel, ou d’autres formats courants.
- Une fois le fichier sélectionné, RStudio vous affiche un aperçu des données et génère automatiquement le code R correspondant pour l’importation.
- Ce code est un excellent point de départ si vous préférez explorer le code manuellement ou automatiser l’importation à l’avenir.
Cette approche est particulièrement utile pour les débutants ou pour explorer des jeux de données sans avoir à écrire immédiatement du code.
4.2 Importation via le code
Bien que l’interface graphique soit pratique, l’importation via le code offre plus de flexibilité, notamment pour automatiser l’analyse de plusieurs fichiers ou pour personnaliser le processus de chargement. Nous allons voir différentes méthodes pour importer des fichiers courants comme les fichiers CSV et Excel.
4.2.1 Importer des fichiers CSV avec read.csv()
Le format CSV (Comma-Separated Values) est l’un des formats les plus couramment utilisés pour stocker des données tabulaires. En R, la fonction read.csv()
permet d’importer facilement ces fichiers.
# Importer un fichier CSV
data <- read.csv("data/species.csv")
# Aperçu des premières lignes du fichier importé
head(data)
## species_code taxocode scientific_name english_name french_name spanish_name
## 1 YCL 1400100101 Cycleptus elongatus Blue sucker
## 2 DEU 1400100201 Deltistes luxatus Lost River sucker
## 3 ATC 1400100401 Catostomus catostomus Longnose sucker
## 4 ATO 1400100402 Catostomus commersoni White sucker
## 5 ATS 1400100403 Catostomus latipinnis Flannelmouth sucker
## 6 ATU 1400100404 Catostomus macrocheilus Largescale sucker
## arabic_name chinese_name russian_name author family order stats_data
## 1 (Lesueur 1817) Catostomidae Cypriniformes No
## 2 (Cope 1879) Catostomidae Cypriniformes No
## 3 (Forster 1773) Catostomidae Cypriniformes No
## 4 (Lacépède 1803) Catostomidae Cypriniformes No
## 5 Baird & Girard 1853 Catostomidae Cypriniformes No
## 6 Girard 1856 Catostomidae Cypriniformes No
## isscaap_code isscaap_group_en isscaap_group_fr
## 1 11 Carps, barbels and other cyprinids Carpes, barbeaux et autres cyprinidés
## 2 11 Carps, barbels and other cyprinids Carpes, barbeaux et autres cyprinidés
## 3 11 Carps, barbels and other cyprinids Carpes, barbeaux et autres cyprinidés
## 4 11 Carps, barbels and other cyprinids Carpes, barbeaux et autres cyprinidés
## 5 11 Carps, barbels and other cyprinids Carpes, barbeaux et autres cyprinidés
## 6 11 Carps, barbels and other cyprinids Carpes, barbeaux et autres cyprinidés
## isscaap_group_es isscaap_division_code isscaap_division_en isscaap_division_fr
## 1 Carpas, barbos y otros ciprínidos 1 Freshwater fishes Poissons d'eau douce
## 2 Carpas, barbos y otros ciprínidos 1 Freshwater fishes Poissons d'eau douce
## 3 Carpas, barbos y otros ciprínidos 1 Freshwater fishes Poissons d'eau douce
## 4 Carpas, barbos y otros ciprínidos 1 Freshwater fishes Poissons d'eau douce
## 5 Carpas, barbos y otros ciprínidos 1 Freshwater fishes Poissons d'eau douce
## 6 Carpas, barbos y otros ciprínidos 1 Freshwater fishes Poissons d'eau douce
## isscaap_division_es
## 1 Peces de agua dulce
## 2 Peces de agua dulce
## 3 Peces de agua dulce
## 4 Peces de agua dulce
## 5 Peces de agua dulce
## 6 Peces de agua dulce
Cette fonction est simple à utiliser, mais elle peut devenir lente pour des fichiers très volumineux. Il existe des alternatives plus performantes pour de grands ensembles de données.
4.2.2 Importer des fichiers Excel avec read.xlsx()
Les fichiers Excel sont également très utilisés pour stocker des données. En R, le package openxlsx permet d’importer des feuilles de calcul Excel via la fonction read.xlsx().
# Charger le package openxlsx (installation si nécessaire)
if (!requireNamespace("openxlsx", quietly = TRUE)) {
install.packages("openxlsx")
}
library(openxlsx)
# Importer un fichier Excel
data <- read.xlsx("data/biefree.xlsx", sheet = 1)
# Aperçu des premières lignes du fichier importé
head(data)
## Damijo Dacess Idbie Nom
## 1 2018-05-17T20:09:05 <NA> 1 OXFENIL 9.06 %
## 2 2023-08-12T17:38:06 2020-01-01 10 MUCOBOVIN
## 3 2016-05-30T22:38:30 2015-01-01 11 ENZEC
## 4 2023-08-07T19:24:52 <NA> 12 DECTOMAX 10 MG/ML SOLUTION INJECTABLE POUR BOVINS OVINS ET PORCINS
## 5 2023-09-15T13:52:57 <NA> 13 CYDECTINE 1 % SOLUTION INJECTABLE POUR BOVINS
## 6 2023-09-15T13:57:48 <NA> 14 NEMISOL INJECTABLE
## Fabricant Categorie Especes Amm Atcvet Snomed
## 1 VIRBAC Médicament à usage vétérinaire bovins FR/V/7749035 7/1997 QP52AC02 <NA>
## 2 MERIAL Médicament à usage vétérinaire bovins FR/V/6537182 8/1994 QI02AD02 <NA>
## 3 MERIAL Médicament à usage vétérinaire bovins <NA> <NA> <NA>
## 4 ZOETIS Médicament à usage vétérinaire bovins;ovins;porcins FR/V/4335418 4/2012 QP54AA03 C-56B6A
## 5 ZOETIS Médicament à usage vétérinaire bovins FR/V/6245161 9/1994 QP54AB02 C-56B68
## 6 COOPHAVET Médicament à usage vétérinaire bovins;ovins;porcins FR/V/5424399 0/1983 QP52AE01 C-56A96
## Snomedct Gtin
## 1 <NA> 03597132215107;03597132215084;03597132215091;03597132213288
## 2 <NA> 03661103000938
## 3 <NA> <NA>
## 4 5311000009109 05414736022406;05414736022413;05414736022420
## 5 781257003 08714015010221;08714015010214;08714015010238
## 6 387296006 03660144077398
## Cip7 Code
## 1 6763472;6763489;6763495;6763503;6763526;6763532;6763549;6763555;6763561;6763578 <NA>
## 2 6731756;6731762;6731779;6731785;6731791;6731816;6731822;6731839;6731845 <NA>
## 3 6732394;6732402;6732419 <NA>
## 4 <NA> <NA>
## 5 6732595;6732603;6732626 <NA>
## 6 6732939;6735665 <NA>
La fonction read.xlsx() vous permet également de spécifier la feuille Excel à importer, ce qui est pratique si votre fichier contient plusieurs feuilles.
4.2.3 Importer des fichiers CSV avec fread() (rapide et efficace)
Pour des fichiers CSV volumineux, la fonction fread() du package data.table est une alternative très performante à read.csv(). Elle est optimisée pour traiter rapidement de grandes quantités de données.
# Charger le package data.table (installation si nécessaire)
if (!requireNamespace("data.table", quietly = TRUE)) {
install.packages("data.table")
}
library(data.table)
# Importer un fichier CSV avec fread (plus rapide que read.csv)
data <- fread("data/species.csv")
# Aperçu des premières lignes du fichier importé
head(data)
## species_code taxocode scientific_name english_name french_name spanish_name
## 1: YCL 1400100101 Cycleptus elongatus Blue sucker
## 2: DEU 1400100201 Deltistes luxatus Lost River sucker
## 3: ATC 1400100401 Catostomus catostomus Longnose sucker
## 4: ATO 1400100402 Catostomus commersoni White sucker
## 5: ATS 1400100403 Catostomus latipinnis Flannelmouth sucker
## 6: ATU 1400100404 Catostomus macrocheilus Largescale sucker
## arabic_name chinese_name russian_name author family order stats_data
## 1: (Lesueur 1817) Catostomidae Cypriniformes No
## 2: (Cope 1879) Catostomidae Cypriniformes No
## 3: (Forster 1773) Catostomidae Cypriniformes No
## 4: (Lacépède 1803) Catostomidae Cypriniformes No
## 5: Baird & Girard 1853 Catostomidae Cypriniformes No
## 6: Girard 1856 Catostomidae Cypriniformes No
## isscaap_code isscaap_group_en isscaap_group_fr
## 1: 11 Carps, barbels and other cyprinids Carpes, barbeaux et autres cyprinidés
## 2: 11 Carps, barbels and other cyprinids Carpes, barbeaux et autres cyprinidés
## 3: 11 Carps, barbels and other cyprinids Carpes, barbeaux et autres cyprinidés
## 4: 11 Carps, barbels and other cyprinids Carpes, barbeaux et autres cyprinidés
## 5: 11 Carps, barbels and other cyprinids Carpes, barbeaux et autres cyprinidés
## 6: 11 Carps, barbels and other cyprinids Carpes, barbeaux et autres cyprinidés
## isscaap_group_es isscaap_division_code isscaap_division_en isscaap_division_fr
## 1: Carpas, barbos y otros ciprínidos 1 Freshwater fishes Poissons d'eau douce
## 2: Carpas, barbos y otros ciprínidos 1 Freshwater fishes Poissons d'eau douce
## 3: Carpas, barbos y otros ciprínidos 1 Freshwater fishes Poissons d'eau douce
## 4: Carpas, barbos y otros ciprínidos 1 Freshwater fishes Poissons d'eau douce
## 5: Carpas, barbos y otros ciprínidos 1 Freshwater fishes Poissons d'eau douce
## 6: Carpas, barbos y otros ciprínidos 1 Freshwater fishes Poissons d'eau douce
## isscaap_division_es
## 1: Peces de agua dulce
## 2: Peces de agua dulce
## 3: Peces de agua dulce
## 4: Peces de agua dulce
## 5: Peces de agua dulce
## 6: Peces de agua dulce
4.3 Comparaison des méthodes
- read.csv() : Simple et facile à utiliser, mais peut être lent pour de grands fichiers.
- read.xlsx() : Idéal pour importer des fichiers Excel avec des options pour sélectionner des feuilles spécifiques.
- fread() : Recommandé pour les fichiers CSV volumineux en raison de sa rapidité et de son efficacité.
Voici un résumé rapide de ces méthodes en fonction de vos besoins :
Méthode | Format | Rapidité | Utilisation |
---|---|---|---|
read.csv() | CSV | Moyenne | Fichiers CSV de taille modérée |
read.xlsx() | Excel | Moyenne | Fichiers Excel avec plusieurs feuilles |
fread() | CSV | Très rapide | Fichiers CSV volumineux |
En fonction de vos données et de vos besoins en performance, vous pouvez choisir la méthode la plus appropriée. N’oubliez pas que les packages doivent être installés et chargés pour pouvoir utiliser ces fonctions.
4.4 Exercice
Importez pour le millésime 2023 le fichier des demandes de valeurs foncières (DVF). Combien de transactions contient le fichier ?