Construire une table de contingence avec R
Créer un fichier lisible par R
Il faut tout d'abord créer un fichier lisible par R dans lequel sera contenu le tableau. Pour ce faire nous allons utiliser Calc.
D'abord ouvrez ce fichier avec Calc au travers du menu "Fichier → Ouvrir".
Ensuite créez un nouveau document en allant dans le menu "Fichier → Enregistrer sous...". Après avoir nommé ce nouveau document ("textcalc" dans l'exemple ci-dessous), choisissez dans l'encart « type de fichier » le type « csv ».

Enfin choisir comme séparateur de champ « ; ». Laissez le guillemet comme séparateur de texte.

Enfin cliquez sur « OK ».

Placer le fichier créer dans le répertoire de travail de R
Vous devez maintenant copier/coller le fichier que vous venez de créer (appelé dans cet exemple "testcalc.csv") dans le répertoire de travail de R[1].
Pour connaître le répertoire de travail de R[1] il suffit d'ouvrir R et de taper la commande getwd().
Enfin, copiez/collez le fichier « testcalc.csv » sur votre disque dans ce répertoire. Vous trouverez plus d'information à propos du repertoire de travail de R à la page 33 du document pdf de Julien Barnier à propos de R.
Méthode : Construire une table de contingence
1-Importer les données dans R
La commande read.csv2()
permet de lire les documents de type ".csv" ou ".txt". Pour que cette commande fonctionne bien il est nécessaire de préciser certains éléments comme le séparateur de champ que l'on a définit auparavant (";") et la présence des noms de variables sur la première ligne du tableau.
Voici la commande :
read.csv2("testcalc.csv", sep=";", header=TRUE)->tableaubrut
Où :
1) "
testcalc.csv
"
est le nom du fichier créé avec Calc dans lequel figure le tableau,
2) sep=";"
précise le séparateur de champ,
3) header=TRUE
indique que la première ligne du tableau est constituée par des noms de variables.
4) tableaubrut
est l'objet dans lequel on met le tableau.
Si après avoir exécuter cette commande on tape dans R " | ![]() |
Remarquez que les noms de variables ont été modifiées par R, les espaces entre les mots ont été remplacés par des points : "première variable" est devenu "première.variable".
2-Manipuler les lignes et les colonnes d'un tableau : l'indexation
R est adapté pour manipuler des fragments de tableaux grâce à l'utilisation de crochets []
.
Si l'on veut isoler uniquement la valeur de la première case de la première colonne du tableau contenu dans l'objet "tableaubrut"
on tape la commande suivante :
tableaubrut[1,1]
R répond :
[1] x
Levels: x y z
Il indique la valeur de cette case (x
) puis les modalités de la variable concernée (Levels: x y z
).
"tableaubrut
" est l'objet que j'ai crée à l'étape précédente. R permet d'isoler des éléments de cet objet en utilisant le crochet []
cette opération s'appelle l'indexation. On peut l'appliquer très souvent et elle permet de manipuler des données importantes et complexes avec économie et fiabilité.
On peut mettre cette valeur dans un objet comme ceci par exemple:
tableaubrut[1,1]->valeurpremierelignepremierecolonne
ou comme cela :
tableaubrut[1,1]->valeur.premiere.ligne.premiere.colonne
Si on voulait isoler toutes les valeurs de la première ligne du tableau contenu dans l'objet
tableaubrut
, on utiliserait la commande suivante :
tableaubrut[1,]
Pour isoler toutes les valeurs de la première colonne :
tableaubrut[,1]
Même chose pour la deuxième colonne :
tableaubrut[,2]
ou pour la deuxième ligne :
tableaubrut[2,]
3-Créer le tableau
Pour créer le tableau on va isoler la première colonne dans un objet et la deuxième dans un second objet :
tableaubrut[,1]->premierecolonne
tableaubrut[,2]->deuxiemecolonne
On va ensuite utiliser la commande table()
qui permet de construire un tableau croisé :

Bien entendu on peut mettre ce tableau dans un objet :
table(premierecolonne , deuxiemecolonne)->tableaucontingence
Mais rien n'oblige à créer des objets intermédiaires on aurait aussi bien pu créer le tableau directement ainsi :
table(tableaubrut[,1] , tableaubrut[,2])->tableaucontingence
Et voilà :

Remarque :
En résumé deux lignes suffisent pour créer un tableau croisé avec R :
read.csv2("testcalc.csv", sep=";" , header=TRUE)->tableaubrut
table(tableaubrut[,1] , tableaubrut[,2])->tableaucontingence
Remarque :
Lorsque l'on effectue une commande dans R et que R ne réponds rien, c'est que la commande à fonctionné.