Cours complet pour apprendre les bases du langage R (2024)

Cours complet pour apprendre les bases du langage R (1) R pour les sociologues (et assimilés)

Partie 4 Import/export de données

L'import et l'export de données depuis ou vers d'autres applications, est couvert en détail dans l'un des manuels officiels (en anglais) nommé R Data Import/Export et accessible, comme les autres manuels, à l'adresse suivante: http://cran.r-project.org/manuals.html.

Cette partie est très largement tirée de ce document, et on pourra s'y reporter pour plus de détails.

Importer des données est souvent l'une des premières opérations que l'on effectue lorsque l'on débute sous R, et ce n'est pas la moins compliquée. En cas de problème il ne faut donc pas hésiter à demander de l'aide par les différents moyens disponibles (voir partie 10Partie 10 Où trouver de l'aide) avant de se décourager.

Un des points délicats pour l'importation de données dans R concerne le nom des variables. Pour être utilisables dans R ceux-ci doivent être à la fois courts et explicites, ce qui n'est pas le cas dans d'autres applications comme Modalisa, par exemple. La plupart des fonctions d'importation s'occupent de convertir les noms de manière à ce qu'ils soient compatibles avec les règles de R (remplacement des espaces par des points, par exemple), mais un renommage est souvent à prévoir soit au sein de l'application d'origine, soit une fois les données importées dans R.

Accès aux fichiers et répertoire de travail

Dans ce qui suit, puisqu'il s'agit d'importer des données externes, nous allons avoir besoin d'accéder à des fichiers situés sur le disque dur de notre ordinateur.

Par exemple, la fonction read.table, très utilisée pour l'import de fichiers texte, prend comme premier argument le nom du fichier à importer, ici fichier.txt:

Sélectionnez

R> donnees <- read.table("fichier.txt")

Cependant, ceci ne fonctionnera que si le fichier se trouve dans le répertoire de travail de R. De quoi s'agit-il? Tout simplement du répertoire dans lequel R est actuellement en train de s'exécuter. Pour savoir quel est le répertoire de travail actuel, on peut utiliser la fonction getwd(14):

Sélectionnez

R> getwd()[1] "/home/julien/r/doc/intro"

Si on veut modifier le répertoire de travail, on utilise setwd en lui indiquant le chemin complet. Par exemple, sous Linux:

Sélectionnez

R> setwd("/home/julien/projets/R")

Sous Windows le chemin du répertoire est souvent un peu plus compliqué. Vous pouvez alors utiliser la fonction selectwd de l'extension rgrs(15) en tapant simplement:

Sélectionnez

R> selectwd()

Une boîte de dialogue devrait alors s'afficher vous permettant de sélectionner un répertoire sur votre disque. Sous Windows elle devrait ressembler à celle de la figure 4.1.

Sélectionnez le répertoire de travail de votre session R et cliquez sur Ok(16). Vous devriez voir s'afficher le message suivant:

Sélectionnez

Nouveau répertoire de travail: C:/Documents and Settings/BureauPour automatiser ce changement dans un script, utilisez:setwd("C:/Documents and Settings/Bureau")

Si vous travaillez en ligne de commande dans la console, le répertoire de travail a été mis à jour. Si vous travaillez dans un script, il peut être intéressant de rajouter la ligne setwd indiquée précédemment, au début de votre script pour automatiser cette opération.

Une fois le répertoire de travail fixé, on pourra accéder directement aux fichiers qui s'y trouvent, en spécifiant seulement leur nom. On peut aussi créer des sous-répertoires dans le répertoire de travail; une potentielle bonne pratique peut être de regrouper tous les fichiers de données dans un sous-répertoire nommé donnees. On pourra alors accéder aux fichiers qui s'y trouvent de la manière suivante:

Sélectionnez

R> donnees <- read.table("donnees/fichier.txt")

Dans ce qui suit, on supposera que les fichiers à importer se trouvent directement dans le répertoire de travail, et on n'indiquera donc que le nom du fichier, sans préciser le chemin ou le répertoire supplémentaire.

Import de données depuis un tableur

Il est assez courant de vouloir importer des données saisies ou traitées avec un tableur du type OpenOffice ou Excel. En général les données prennent alors la forme d'un tableau avec les variables en colonne et les individus en ligne.

Cours complet pour apprendre les bases du langage R (7)

Depuis Excel

La démarche pour importer ces données dans R est d'abord de les enregistrer dans un format de type texte. Sous Excel, on peut ainsi sélectionner Fichier, Enregistrer sous, puis dans la zone Type de fichier, choisir soit Texte (séparateur tabulation), soit CSV (séparateur: point-virgule).

Dans le premier cas, on peut importer le fichier en utilisant la fonction read.delim2, de la manière suivante:

Sélectionnez

R> donnees <- read.delim2("fichier.txt")

Dans le second cas, on utilise read.csv2, de la même manière:

Sélectionnez

R> donnees <- read.csv2("fichier.csv")

Depuis OpenOffice

Depuis OpenOffice on procédera de la même manière, en sélectionnant le type de fichier Texte CSV.

On importe ensuite les données dans R à l'aide de la fonction read.csv:

Sélectionnez

R> read.csv("fichier.csv", dec = ",")

Autres sources / en cas de problèmes

Les fonctions read.csv et compagnie sont en fait des dérivées de la fonction plus générique read.table. Celle-ci contient de nombreuses options permettant d'adapter l'import au format du fichier texte. On pourra se reporter à la page d'aide de read.table, si on rencontre des problèmes ou si on souhaite importer des fichiers d'autres sources.

Parmi les options disponibles, on citera notamment:

  • header indique si la première ligne du fichier contient les noms des variables (valeur TRUE) ou non (valeur FALSE);
  • sep indique le caractère séparant les champs. En général soit une virgule, soit un point-virgule, soit une tabulation. Pour cette dernière l'option est sep="\t";
  • quote indique le caractère utilisé pour délimiter les champs. En général on utilise soit des guillemets doubles (quote="\""), soit rien du tout (quote="");
  • dec indique quel est le caractère utilisé pour séparer les nombres et leurs décimales. Il s'agit le plus souvent de la virgule lorsque les données sont en français (dec=","), et le point pour les données anglophones (dec=".").

D'autres options sont disponibles, pour gérer le format d'encodage du fichier source ou de nombreux autres paramètres d'importation. On se référera alors à la page d'aide de read.table et à la section Spreadsheet-like data de R Data Import/Export:

Import depuis d'autres logiciels

La plupart des fonctions permettant l'import de fichiers de données issus d'autres logiciels font partie d'une extension nommée foreign, présente à l'installation de R, mais qu'il est nécessaire de charger en mémoire avant utilisation avec l'instruction:

Sélectionnez

R> library(foreign)

SAS

Les fichiers au format SAS se présentent en général sous deux formats: format SAS export (extension .xport ou .xpt) ou format SAS natif (extension .sas7bdat).

R peut lire directement les fichiers au format export via la fonction read.xport de l'extension foreign.

Celle-ci s'utilise très simplement, en lui passant le nom du fichier en argument:

Sélectionnez

R> donnees <- read.xport("fichier.xpt")

En ce qui concerne les fichiers au format SAS natif, il existe des fonctions permettant de les importer, mais elles nécessitent d'avoir une installation de SAS fonctionnelle sur sa machine (il s'agit des fonctions read.ssd de l'extension foreign, et sas.get de l'extension Hmisc).

Si on ne dispose que des fichiers au format SAS natif, le plus simple est d'utiliser l'application SAS System Viewer, qui permet de lire des fichiers SAS natif, de les visualiser et de les enregistrer dans un format texte. Cette application est téléchargeable gratuitement, mais ne fonctionne que sous Windows(17):

Une fois le fichier de données au format SAS natif ouvert on peut l'enregistrer au format texte tabulé. L'import dans R se fait alors avec la commande suivante:

Sélectionnez

R> donnees <- read.delim("fichier.txt", na.strings = ".")

SPSS

Les fichiers générés par SPSS sont accessibles depuis R avec la fonction read.spss de l'extension foreign. Celle-ci peut lire aussi bien les fichiers sauvegardés avec la fonction Enregistrer que ceux générés par la fonction Exporter.

La syntaxe est également très simple:

Sélectionnez

R> donnees <- read.spss("fichier.sav")

Plusieurs options permettant de contrôler l'importation des données sont disponibles. On se reportera à la page d'aide de la fonction pour plus d'informations.

Modalisa

L'extension rgrs fournit plusieurs fonctions pour l'import ou l'export de données depuis ou vers Modalisa, et pour leur traitement, en particulier concernant les questions à réponses multiples.

L'import de données permet de récupérer des sauvegardes au format ASCII et s'appuie sur la fonction mls.import.

On trouvera davantage d'informations à l'adresse suivante:

Fichiers dbf

L'Insee diffuse ses fichiers détails depuis son site Web au format dBase (extension .dbf). Ceux-ci sont directement lisibles dans R avec la fonction read.dbf de l'extension foreign.

Sélectionnez

R> donnees <- read.dbf("fichier.dbf")

La principale limitation des fichiers dbf est de ne pas gérer plus de 256 colonnes. Les tables des enquêtes de l'Insee sont donc parfois découpées en plusieurs fichiers dbf qu'il convient de fusionner avec la fonction merge. L'utilisation de cette fonction est détaillée dans la section 5.6Fusion de tables.

Autres sources

R offre de très nombreuses autres possibilités pour accéder aux données. Il est ainsi possible d'importer des données depuis d'autres applications qui n'ont pas été évoquées (Stata, S-Plus, etc.), de se connecter à un système de base de données relationnelle type MySql, de lire des données via ODBC ou des connexions réseau, etc.

Pour plus d'informations on consultera le manuel R Data Import/Export:

Exporter des données

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

  • write.table est l'équivalent de read.table et permet d'enregistrer des tableaux de données au format texte, avec de nombreuses options;
  • write.foreign, de l'extension foreign, permet d'exporter des données aux formats SAS, SPSS ou Stata;
  • write.dbf, de l'extension foreign, permet d'exporter des données au format dBase;
  • mls.export, de l'extension rgrs, permet d'exporter des données à destination de Modalisa;
  • save permet d'enregistrer des objets R sur le disque pour récupération ultérieure ou sur un autre système.

À 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.

Exercices

Exercice 4.9

? Solution

Saisissez quelques données fictives dans une application de type tableur, enregistrez-les dans un format texte et importez-les dans R.

Vérifiez que l'importation s'est bien déroulée.

Exercice 4.10

? Solution

L'adresse suivante permet de télécharger un fichier au format dBase contenant une partie des données de l'enquête EPCV Vie associative de l'Insee (2002):

Téléchargez le fichier, décompressez-le et importez les données dans R.

(14)

Le résultat indiqué ici correspond à système Linux, sous Windows vous devriez avoir quelque chose de la forme C:/Documents and Settings/…

(15)

Sous Windows, si vous utilisez l'interface graphique par défaut, vous pouvez aussi utiliser la fonction Changer le répertoire courant du menu Fichier

(16)

Sous Windows, si vous ne retrouvez pas votre répertoire Mes documents, celui-ci se trouve en général dans le répertoire portant le nom de votre utilisateur situé dans le répertoire Documents and Settings du lecteur {C: . Par exemple C:\Documents and Settings\Administrateur\Mes Documents\…

(17)

Ou sous Linux et Mac OS X avec wine.

Cours complet pour apprendre les bases du langage R (2024)

FAQs

Quel logiciel pour coder en R ? ›

R studio est un logiciel qui permet de développer du code en R. Il propose de nombreuses fonctionnalités intéressantes et très pratiques que nous allons découvrir petit à petit au cours de ce livre et du prochain chapitre. Voic un aperçu du R studio : Comme R, R Studio est open source et gratuit.

Pourquoi utiliser R plutôt que Python ? ›

R est particulièrement indiqué pour l'analyse statistique alors que Python a l'avantage d'être extrêmement polyvalent. L'apprentissage de Python est donc à privilégier si vous êtes débutant et souhaitez être capable de réaliser un large éventail de tâches rapidement.

Comment réussir un R ? ›

Le son [R] est dû à un très léger recul de la langue après la prononciation de la voyelle qui le précède. N'oubliez pas : la langue ne bouge pas ! Si vous avez tendance à la faire bouger, collez-la contre les dents du bas, pour vous concentrer sur le son à produire dans la gorge.

Est-ce que R est gratuit ? ›

R est un langage gratuit et open source pour le calcul statistique et les graphiques. Il est couramment utilisé pour l'analyse et la visualisation des données.

Quelle est la différence entre R et RStudio ? ›

R studio est l'environnement du logiciel R. On appelle cela une IDE pour Integrated Development Environment. Un environnement c'est un ensemble d'outils qui facilitent l'utilisation du logiciel ; par exemple l'écriture d'un code, son exécution, son débogage, ou encore la visualisation des résultats.

Où télécharger RStudio ? ›

Installation de RStudio

Une fois R correctement installé, rendez-vous sur http://www.rstudio.com/products/rstudio/download/ pour télécharger la dernière version stable de RStudio. Plus précisément, il s'agit de l'édition Open Source de RStudio Desktop (en effet, il existe aussi une version serveur).

Quel est le langage informatique le plus approprié pour la fouille de textes R ou Python ? ›

Les deux langages sont de bons choix, tous deux très puissants. S'il s'agit en premier lieu de créer des modèles statistiques pour les visualiser, R reste le meilleur choix. Pour d'autres tâches, qui incluent du traitement au-delà des statistiques, Python offre beaucoup plus de possibilités.

Quels sont les inconvénients de l'utilisation de Python ? ›

La faiblesse de Python est sa lenteur.

Comparé à d'autres langages comme C ou Java, Python demande plus de temps d'exécution. Il reste possible d'accélérer la vitesse d'exécution de certaines manipulations avec certaines bibliothèques comme NumPy et Pandas (voir plus bas).

Pourquoi C++ est plus rapide que Python ? ›

C++ est considéré comme ayant un temps d'exécution plus rapide, principalement parce que son candidat - Python - est écrit en C. Comme je l'ai déjà mentionné, le C++ est souvent considéré comme le langage de programmation le plus rapide au monde. beaucoup d'une concurrence.

Comment rouler les R en français ? ›

Le r fricatif est prononcé en élevant le dos de la langue vers la luette (appelée également uvule palatine) et en laissant s'écouler l'air de façon continue à travers le conduit vocal ainsi resserré. En termes de phonétique, le r fricatif est décrit comme une consonne fricative.

Quelles sont les types de R ? ›

Phonème /r/ en français
  • Consonne fricative uvulaire voisée, [ʁ], dite r guttural, r uvulaire dévibré, r standard ou r français. ...
  • Consonne roulée uvulaire voisée, [ʀ], dite r grasseyé, r parisien ou r uvulaire.
  • Consonne roulée alvéolaire voisée, [r], dite r roulé ou r dental.

Quels sont les types R ? ›

On peut considérer qu'il existe quatre types de variables dans R : les variables numériques, ou quantitatives ; les facteurs, qui prennent leurs valeurs dans un ensemble défini de modalités.

Quels sont les inconvénients des R ? ›

L'un des principaux inconvénients de R est sa courbe d'apprentissage abrupte. R a une syntaxe et une logique uniques et parfois incohérentes qui peuvent être déroutantes et frustrantes pour les débutants et même les utilisateurs expérimentés.

Quel logiciel est basé sur R ? ›

R s'interface de plus par des API à d'autres outils tel que Keras, Torch, Tensorflow ou Spark pour effectuer des traitements avancés (par exemple : calcul distribué, Deep Learning). Il est également possible d'intégrer les traitements R dans des outils payants (SAS, PowerBI, WPS, Sage, …).

Comment mettre R en français ? ›

Cliquer sur le bouton "Nouveau", et ajouter une variable que vous appelerez "LANGUAGE" et à laquelle vous donnerez la valeur "fr". Evidemment, si vous travaillez avec Windows en anglais, il faut trouver l'équivalent. Je marche sous Windows 7. Alors voir l'aide de Windows 7 pour voir comment faire la manip équivalente.

Quel IDE pour R ? ›

L'un des IDE les plus appréciés pour la programmation R s'appelle RStudio. Il s'agit d'un environnement de développement intégré open-source qui permet aux programmeurs R d'accéder à divers outils et fonctionnalités.

Comment faire un script R ? ›

Pour créer un script à partir de notre historique de commandes:
  1. Créer un nouveau script (File -> New File -> R Script).
  2. Sélectionner les commandes de l'historique que nous désirons envoyer dans le script.
  3. Cliquer sur le bouton To Source pour copier les commandes dans le script qui été créé.

Comment installer le logiciel R sur PC ? ›

Installer R pour XLSTAT-R sous Windows
  1. Téléchargez le logiciel R à l'adresse suivante : https://cran.r-project.org/bin/windows/base/
  2. Exécutez le fichier téléchargé. Une fenêtre de contrôle s'ouvre. ...
  3. Sélectionnez la langue de l'assistant d'installation et cliquez sur le bouton OK.

Qui utilise le logiciel R ? ›

Le langage R est largement utilisé par les statisticiens, les data miners, data scientists pour le développement de logiciels statistiques et l'analyse des données. En juillet 2023 , R est classé 19e dans l'index TIOBE qui mesure la popularité des langages de programmation.

Top Articles
Latest Posts
Article information

Author: Dong Thiel

Last Updated:

Views: 5939

Rating: 4.9 / 5 (59 voted)

Reviews: 82% of readers found this page helpful

Author information

Name: Dong Thiel

Birthday: 2001-07-14

Address: 2865 Kasha Unions, West Corrinne, AK 05708-1071

Phone: +3512198379449

Job: Design Planner

Hobby: Graffiti, Foreign language learning, Gambling, Metalworking, Rowing, Sculling, Sewing

Introduction: My name is Dong Thiel, I am a brainy, happy, tasty, lively, splendid, talented, cooperative person who loves writing and wants to share my knowledge and understanding with you.