Aide-memoire-R > Le-langage > Tables-de-contingences
Tables de contingences.
Table de contingence à une dimension :
- table(factor(c("a", "b", "a", "c", "b"))) : renvoie une table avec le nombre de fois que chaque facteur apparaît :
a b c 2 2 1
- table(c("a", "b", "a", "c", "b")) : marche aussi.
Attention, par défaut, les valeurs NA et NaN sont exclues des comptes. Pour en tenir compte quand même :
table(vect, exclude = c())
Table de contingence à 2 dimensions (ou plus) :
- tab <- table(let = c("a", "b", "a", "a", "b"), dig = c("1", "0", "0", "1", "1")) : donne une table à deux dimensions :
dig let 0 1 a 1 2 b 1 1
- L'objet renvoyé est de type table (exactement comme avec une dimension) et a les attributes dim et dimnames (dimnames étant une liste à 2 éléments : les noms de lignes et les noms des colonnes). Par exemple, pour avoir la liste des noms des lignes : attributes(tab)$dimnames[[1]] ou attributes(tab)$dimnames$let
- Pour avoir les comptes de chaque catégorie sous forme de dataframe plutôt que de table de contingence, on peut faire : as.data.frame(tab) (donc, attention, ça ne se contente pas de convertir en data frame. C'est la fonction as.data.frame.table qui est appelée derrière) :
let dig Freq 1 a 0 1 2 b 0 1 3 a 1 2 4 b 1 1
Pour convertir un objet table à 2 dimensions en data.frame avec la même disposition, on peut utiliser : fr <- as.data.frame.matrix(tab).
Conversion d'une matrice en table :
as.table(mat <- matrix(data = c(4, 5, 6, 7), nrow = 2))
xtabs (création d'un tableau de contigence à partir d'un dataframe) :
- Si le frame fr vaut :
let dig Freq 1 a 0 1 2 b 0 3 3 a 1 2 4 b 1 5
on peut obtenir un tableau de contigence par : tab <- xtabs(Freq ~ let + dig, fr) :dig let 0 1 a 1 2 b 3 5
C'est l'inverse de as.data.frame ! Le résultat est de type table et xtabs. - Si il y a des couples de valeurs des facteurs qui se répètent, xtabs fait la somme. Si le frame fr vaut :
let dig Freq 1 a 0 1 2 b 0 3 3 a 1 2 4 b 1 5 5 a 0 3 6 b 1 9
tab <- xtabs(Freq ~ let + dig, fr) renvoie :dig let 0 1 a 4 2 b 3 14
- summary(tab) donne le résultat d'un test de chi2.
Dernière date de modification : 2010-01-02
