Sie sind auf Seite 1von 6

© Sylvain Hanneton 2010 - tous droits réservés

Importer des données d'un tableur dans R

Résumé: Ce document est un guide montrant comment importer et accéder à des données issues d'un tableur en
utilisant le logiciel R. Le format de fichier intermédiaire choisi est le format CSV.

Mots-clé: statistiques, open office, tableur, format de fichier, importation, R

Table des matières


1 Créer un fichier au bon format............................................................................................................................1

1.1 Quel format ?..............................................................................................................................................1

1.2 Comment exporter une feuille d'un tableur au format texte ?......................................................................2

1.3 Attention au séparateur de décimales !.......................................................................................................4

1.4 Attention au noms des variables.................................................................................................................4

2 Importer les données du fichier texte dans R......................................................................................................4

2.1 Les fonctions « read.csv »...........................................................................................................................4

2.2 Les paramètres utiles de ces fonctions........................................................................................................4

2.3 Accéder aux données..................................................................................................................................5

3 Un exemple.........................................................................................................................................................5

3.1 De OpenOffice à R.....................................................................................................................................5

3.2 Importation de tableaux croisés dynamiques..............................................................................................6

1 Créer un fichier au bon format.

1.1 Quel format ?

La façon la plus aisée et la plus fiable de fonctionner est de créer, à partir du tableur, un fichier au
format texte. L'avantage d'un tel fichier est que son format très simple lui permet d'être lu par un grand nombre
de logiciels. Il peut être aussi modifié très facilement en l'éditant avec un simple éditeur de texte (notepad,
wordpad, gedit, vi etc...). L'inconvénient du fichier texte est qu'il doit avoir une structure très simple mais très
précise pour qu'il soit correct, et qu'il ne peut contenir les données que d'une seule feuille de votre classeur.
Globalement, un fichier texte comporte des lignes qui elles-mêmes comportent des données organisées en
colonnes grâce au choix d'un caractère qui sert de séparateur de colonnes. Ce fichier texte devra avoir le format
suivant :

• la première ligne comporte les noms des variables (colonnes) du classeur séparées par le séparateur de
colonne.

1/6
© Sylvain Hanneton 2010 - tous droits réservés

• les noms des variables peuvent être écrits entre guillemets ou non

• les lignes suivantes comportent les données organisées en colonnes séparées par le caractère de
séparation des colonnes.

Voici des exemples de contenus de fichiers textes valides :

Age;Departement;Genre
18;75;1
23;77;1
28;78;2

Ce premier exemple comporte trois variables et donc trois colonnes. Le séparateur de colonne est le caractère
« point-virgule ». Les noms des variables ne sont pas écrits entre guillemets.

Second exemple :
«Age»,«Departement»,«Poids»
18,75,78.0
23,77,70.5
28,78,81.3

Dans cet exemple le séparateur de colonnes est le caractère « virgule », le séparateur des décimales est le point
(notation anglo-saxonne) et les noms des variables sont indiqués entre guillemets.

Dernier exemple :
«Age».«Departement».«Poids»
18.75.78,0
23.77.70,5
28.78.81,3

Ici le séparateur des colonnes est le point et le séparateur des décimales est la virgule comme dans le système
numérique français.

1.2 Comment exporter une feuille d'un tableur au format texte ?

Tous les tableurs (Excel, Gnumeric, OpenOffice) ont une entrée de menu permettant d'exporter les
données d'un classeur en différent formats dont le format texte. On trouve cette fonction dans le menu « Fichier-
>Enregistrer sous » ou dans « Fichier->Exporter ». Dans les exemples suivants, nous utiliserons le tableur de
la suite OpenOffice mais la procédure est la même à peu de chose près avec les autres outils. Nous allons choisir
le format dit format texte « CSV1 » pour importer les données du tableur vers R.

Dans le tableur il suffit

1. d'aller choir « Fichier->Enregistrer sous » et de donner un nom au fichier de sortie

2. de choisir le format CSV en bas à droite dans la boîte de dialogue qui s'affiche (étape 1 de l'Illustration 1

1.NB : L'acronyme CSV veut dire « comma separated values » ou valeurs séparées par des virgules... Si vous souhaitez en savoir plus,
consultez la page correspondante de Wikipédia par exemple : http://fr.wikipedia.org/wiki/Comma-separated_values .

2/6
© Sylvain Hanneton 2010 - tous droits réservés

3. de cocher la case du filtre d'exportation en bas à gauche de la boîte de dialogue (étape 2 de l'illustration
1).

Puisque la case à cocher d'édition des paramètres du filtre d'exportation a été cochée, une autre boîte de dialogue
s'affiche alors (voir Illustration 2). On a accès alors au réglages suivants :

• encodage des caractères : l'option « UTF-8 » par défaut convient très bien.

• Séparateur de champs : il s'agit ici du séparateur des colonnes. Vous pouvez choisir ce que vous voulez
sauf la virgule. Je vous conseille le point-virgule qui correspond à un réglage par défaut du logiciel R.

• Séparateur de texte : il s'agit ici du caractère qui permet d'encadrer un texte, par exemple un nom de
variable ou un code comme « F » et « M » pour une colonne donnant le caractère masculin ou féminin.
La valeur par défaut convient.

Illustration 1: Enregistrement d'une feuille du classeur au


format CSV.

Illustration 2: Boîte de dialogue de choix des paramètres d'exportation.

La case à cocher « Enregistrer le contenu de la cellule comme affiché » indique que le fichier texte contiendra
exactement les mêmes caractères que ceux affichés par le tableur. Dans certains cas, il vaut mieux décocher la
case mais en ce qui nous concerne, laissons la case cochée par défaut. Cocher la case « largeur de colonne
fixe » n'est utile que pour obtenir par exemple un fichier texte « présentable » directement avec des colonnes qui
ressemblent à des vrais colonnes. Nous n'avons pas besoin de cocher cette case.

3/6
© Sylvain Hanneton 2010 - tous droits réservés

1.3 Attention au séparateur de décimales !

Le fichier CSV va contenir par défaut des valeurs décimales utilisant le système « anglo-saxon » pour séparer la
partie entière de la partie décimale des nombres.

1. Surtout n'utilisez pas un séparateur de colonnes identique au séparateur de décimales sinon l'importation
de vos données dans un autre logiciel va poser problème.

2. Comme on le verra R peut indifféremment travailler avec le point ou la virgule comme séparateur de
décimales. Mais il est probable que par défaut il utilise sur votre système l'un ou l'autre de ces
séparateurs.

3. D'autre part, si vous souhaitez importer ce fichier CSV dans un autre logiciel vous pouvez avoir des
soucis si celui-ci utilise la virgule comme séparateur de décimale. Vos données avec un point peuvent
être alors considérées comme des données « textes » (chaîne de caractères) ou autre. La solution est
souvent d'ouvrir votre fichier CSV avec un éditeur de texte (gedit, notepad, wordpad etc...) et d'utiliser la
fonction « rechercher-remplacer » pour remplacer automatiquement tous les points par des virgules.

1.4 Attention au noms des variables

Dans votre classeur, vous avez toujours intérêt à choisir des noms de variables les plus courts et les plus simples
possibles. Évitez les espaces et les accents qui peuvent poser problème lors de la création et l'importation du
fichier CSV.

2 Importer les données du fichier texte dans R

2.1 Les fonctions « read.csv »

Il existe dans R plusieurs fonctions permettant de lire les données. Il suffit de consulter les aides du logiciel pour
en avoir la liste. Ainsi, si vous tapez help(read.table) dans la fenêtre de commande de R vous obtenez la
liste de toutes les fonctions dérivées de la fonction read.table(), fonctions qui servent à lire des fichiers textes.
Nous choisirons d'utiliser les commandes « read.csv() » et « read.csv2() ».

• « read.csv() » : permet de lire directement les fichiers CSV avec comme séparateur de colonnes
un point-virgule et comme séparateur de décimales un point.

• « read.csv2() » : permet de lire directement les fichiers CSV avec comme séparateur de colonnes
un point-virgule et comme séparateur de décimales une virgule (système français).

2.2 Les paramètres utiles de ces fonctions

Le premier paramètre est le nom du fichier CSV qui contient vos données.

• header : cette valeur indique si les noms des variables de colonnes sont présentes dans le fichier texte. Si
oui, indiquer alors « header=TRUE », sinon « header=FALSE ». La première solution est la valeur par
défaut qui convient la plupart du temps.

• sep : indique le caractère qui est le séparateur de colonnes, il est par défaut fixé au point virgule dans la
fonction read.csv2().

• dec : indique le caractère qui est le séparateur de décimales (dec=« , », ou dec= « . »).

4/6
© Sylvain Hanneton 2010 - tous droits réservés

La plupart du temps il est inutile d'utiliser ces paramètres.

2.3 Accéder aux données

La fonction read.csv() ou read.csv2() va récupérer les donnes du fichier et les placer en mémoire dans
un structure de données appelée « data frame ». Si la commande utilisée est

D<-read.csv2(«monfichier.csv»)

elle correspond à appeler D la structure de données qui contient les données du fichier « monfichier.csv ». On
pourra ensuite accéder séparément aux différentes colonnes du fichiers par le signe « $ » suivi du nom de la
variable : D$Age, D$Departement et D$Genre par exemple.

3 Un exemple

3.1 De OpenOffice à R

Nous allons prendre l'exemple d'un fichier de recensement des chutes dans un établissement de personnes âgées.
Ce fichier initial est un fichier de classeur OpenOffice (voir Illustration 3).

Illustration 3: Structure des données initiales dans le tableur.

Après exportation, le fichier CSV apparaît comme ci-dessous dans un éditeur de texte :

"CODE";"sexe";"D.N.";"Age";"mois";"semaine";"jours";"Cons.";"heure";"horaire";"lieu"
"SH_PNECVR";"h";19/08/21;88;12;3;3;3;17;2;3
"SH_UHYQRA";"f";;;12;3;2;1;17;2;1
"SH_YRICVR";"h";;;12;3;7;4;17;2;1
"SH_IREZNE";"f";13/01/13;96;12;2;3;4;17;2;
"SH_FNCYRB";"h";;;12;2;5;3;23;4;1
"SH_INHTÉE";"h";;;12;3;1;4;6;4;1

On peut effectivement constater que le séparateur de colonne est le point-virgule et que les chaînes de
caractères sont encadrées de guillemets. On voit également que la première ligne du fichier comporte les noms
des colonnes (variables). Il suffit d'entrer dans la fenêtre de commande de R : D<-
read.csv2(« fichierchutes.csv ») où « fichierchutes.csv » est le nom du fichier contenant
les données et DATA le nom du « data frame » qui contiendra les données. Attention il faut s'assurer que le
fichier contenant les données est bien dans le répertoire de travail de R pour que cela marche. Si ce n'est pas le
cas vous aurez un message du type :

Erreur dans file(file, "r") : impossible d'ouvrir la connexion


De plus : Warning message:
In file(file, "r") :
impossible d'ouvrir le fichier 'fichierchutes.csv' : Aucun fichier ou dossier de ce type

Si cela marche, on peut alors vérifier que le tableau est bien importé dans R en tapant le nom du data frame suivi

5/6
© Sylvain Hanneton 2010 - tous droits réservés

de la touche « entrée ». On obtient alors une fenêtre de commande comme ci-dessous :


> DATA<-read.csv2("fichierchutes.csv") ;
> DATA
CODE sexe D.N. Age mois semaine jours Cons. heure horaire lieu
1 SH_PNECVR h 19/08/21 88 12 3 3 3 17 2 3
2 SH_UHYQRA f NA 12 3 2 1 17 2 1
3 SH_YRICVR h NA 12 3 7 4 17 2 1
4 SH_IREZNE f 13/01/13 96 12 2 3 4 17 2 NA
5 SH_FNCYRB h NA 12 2 5 3 23 4 1
6 SH_INHTÉE h NA 12 3 1 4 6 4 1

Si l'on veut accéder aux variables du tableau alors il suffit de taper le nom du data frame suivi du signe dollar
puis du nom de la variable. Ainsi pour obtenir l'âge moyen il suffit d'entrer la commande mean(DATA$Age)
suivi de la touche entrée. En fait ici il y a des valeurs « NA » qui correspondent à des cases non renseignées donc
la bonne commande est la suivante (voir l'aide de la fonction mean) :

> mean(DATA$Age,na.rm=TRUE)
[1] 88.97143
>

3.2 Importation de tableaux croisés dynamiques

La même procédure doit être suivie pour les tableaux croisés dynamiques. Ils doivent être placés
individuellement sur une feuille et simplifiés pour que les données soient exportables. En particulier il est
nécessaire d'enlever les options permettant le calcul des totaux de lignes et colonnes (voir Illustration 4).

Illustration 4: Mise en place du pilote de données sous OpenOffice


(tableau croisé dynamique). Le tableau se met en place par glisser-
déposer des boutons portant le nom des variables (1). Pour pouvoir
exporter les données il vaut mieux décocher les cases "total-colonnes"
(2) et "total-lignes" (3). Pour visualiser ces cases à cocher il faut
cliquer sur le bouton "Autres" en bas à droite de la boîte de dialogue.

6/6

Das könnte Ihnen auch gefallen