# Programmer en R/Importer un fichier CSV

* Introduction
** Faire ses premiers pas
** Installer R
** Choisir son environnement de travail
** Installer des librairies
** Se documenter
* Manipulation et mise en forme des données
** Manipuler les nombres
** Manipuler les vecteurs
** Manipuler les chaînes de caractères
** Manipuler les facteurs
** Manipuler les dates et les heures
** Manipuler un tableau de données
** Manipuler une liste
* Importation et exportation des données
** Importer un fichier CSV
** Résoudre les problèmes d'encodage des caractères
** Importer un fichier TSV
** Importer un fichier texte à largeur fixe
** Importer des données depuis un tableur
** Import un fichier JSON
** Extraire des données d'une page web
* Visualisation de données
** Comprendre la grammaire des graphiques
** Représenter une carte
** Visualiser une carte choroplèthe
* Modélisation statistique
** Estimer un modèle de régression linéaire
** Estimer un modèle de régression circulaire
* Communication
* Programmation avancée
** Programmer une boucle
** Programmer une fonction
* Outils mathématiques
** Optimiser une fonction
** Manipuler les matrices
** Les fonctions statistiques de base
** Les loi de probabilités, ajustement et test
* Introduction
** Faire ses premiers pas
** Installer R
** Choisir son environnement de travail
** Installer des librairies
** Se documenter
* Manipulation et mise en forme des données
** Manipuler les nombres
** Manipuler les vecteurs
** Manipuler les chaînes de caractères
** Manipuler les facteurs
** Manipuler les dates et les heures
** Manipuler un tableau de données
** Manipuler une liste
* Importation et exportation des données
** Importer un fichier CSV
** Résoudre les problèmes d'encodage des caractères
** Importer un fichier TSV
** Importer un fichier texte à largeur fixe
** Importer des données depuis un tableur
** Import un fichier JSON
** Extraire des données d'une page web
* Visualisation de données
** Comprendre la grammaire des graphiques
** Représenter une carte
** Visualiser une carte choroplèthe
* Modélisation statistique
** Estimer un modèle de régression linéaire
** Estimer un modèle de régression circulaire
* Communication
* Programmation avancée
** Programmer une boucle
** Programmer une fonction
* Outils mathématiques
** Optimiser une fonction
** Manipuler les matrices
** Les fonctions statistiques de base
** Les loi de probabilités, ajustement et test
[ Modifier le sommaire ]
* Wikipédia propose un article sur : « Comma-separated values ».
Un fichier CSV est un fichier texte qui contient des données. En général, les valeurs sont séparées par des virgules. Néanmoins, on trouve aussi souvent des valeurs séparées par des points virgules (;) et il arrive que l'on trouve de nombreux autres séparateurs comme des pipes (|) ou même des croisillons (#).
Dans la version basique de R, les fichiers CSV peuvent être importés avec les fonctions read.csv, read.csv2 et read.table.
La librairie readr développée par Hadley Wickham définit les fonctions read_csv, read_csv2 et read_delim qui ont de meilleures performances et de meilleurs paramètres par défaut que les fonctions standards.
Il existe aussi d'autre possibilité avec la librairie rio et la fonction fread de la librairie data.table.

## Importer un fichier CSV

Nous proposons de prendre comme exemple le fichier des députés postés par l'association Wikimédia France sur DataGouv.
* La fonction read_csv issue de la librairie readr permet de lire un fichier csv.
* La fonction glimpse de la librairie dplyr permet d'avoir un aperçu de la table obtenue.
La fonction read_csv essaie de deviner le type de chaque variable. On peut aussi indiquer à la fonction le type de chaque variable à l'aide de l'argument col_types. Les types doivent être spécifiés dans la fonction cols :
* col_character pour les chaînes de caractères
* col_integer pour les entiers
* col_double pour les nombres doubles
* col_number pour les nombres
* col_factor pour les facteurs
* col_date pour les dates
* col_datetime pour les dates heures
* col_logical pour les booléens

## Notes et références

* ↑ http://www.data.gouv.fr/fr/datasets/listes-de-personnalites-issues-de-wikidata-1/

## Voir aussi

* anglais : readr sur tidyverse.org
* anglais : data-import dans le livre R for Data Science de Garrett Grolemund et Hadley Wickham
* Importer un fichier texte dans Introduction à l’analyse d’enquêtes avec R et RStudio