Établir un tableau de contingents - Croiser des variables - Proportions
en langage R
L'essentiel de cette page
L'essentiel de cette page
Il est important (essentiel même) d'établir des comptages en croisant des catégories et de convertir cela rapidement en proportions : table(), ftable() et prop.table() sont là pour cela !
1- Établir un contingent pour une seule variable (numérique ou de catégories) avec table()
1- Établir un contingent pour une seule variable (numérique ou de catégories) avec table()
data(iris) # Charge des données qui décrivent des iris
table(iris$Species) # Compte les iris de chaque espèce
setosa versicolor virginica
50 50 50
Remarque : on peut aussi faire des regroupement à l'échelle d'une variable avec ifelse()
ifelse (iris[,1]>5,"grand","petit") # Trier les valeurs entre grandes et petites.
On peut aussi imbriquer :
ifelse (iris[,1]>6,"grand",ifelse(iris[,1]<5,"petit","moyen"))
2- Établir un contingent pour deux variables (numérique ou de catégories) avec table()
2- Établir un contingent pour deux variables (numérique ou de catégories) avec table()
data(mtcars) # Charge des données qui décrivent des voitures
table(mtcars$cyl,mtcars$carb) # Compter les voitures en croisant cylindré et carburateurs
1 2 3 4 6 8
4 5 6 0 0 0 0
6 2 0 0 4 1 0
8 0 4 3 6 0 1
Cylindré vs Nombre de carbu
Visualiser un contingent par un mosaicplot()
Visualiser un contingent par un mosaicplot()
mosaicplot(table(mtcars$cyl,mtcars$carb) ,col=1:10, main=NULL, cex.axis=0.8)
3- Établir un contingent pour n variables avec ftable()
3- Établir un contingent pour n variables avec ftable()
ftable(mtcars[,c(2,10,11)])
carb 1 2 3 4 6 8
cyl gear
4 3 1 0 0 0 0 0
4 4 4 0 0 0 0
5 0 2 0 0 0 0
6 3 2 0 0 0 0 0
4 0 0 0 4 0 0
5 0 0 0 0 1 0
8 3 0 4 3 5 0 0
4 0 0 0 0 0 0
5 0 0 0 1 0 1
4- Convertir un contingent en proportions avec prop.table()
4- Convertir un contingent en proportions avec prop.table()
Mise en proportions de l'ensemble du table (data.frame ou matrice) :
prop.table( ftable(mtcars[,c(2,10)]) )
gear 3 4 5
cyl
4 0.03125 0.25000 0.06250
6 0.06250 0.12500 0.03125
8 0.37500 0.00000 0.06250
Mise en proportions de l'ensemble du table (data.frame ou matrice) ligne par ligne :
prop.table( ftable(mtcars[,c(2,10)]) ,1)
gear 3 4 5
cyl
4 0.09090909 0.72727273 0.18181818
6 0.28571429 0.57142857 0.14285714
8 0.85714286 0.00000000 0.14285714
Mise en proportions de l'ensemble du table (data.frame ou matrice) colonne par colonne :
prop.table( ftable(mtcars[,c(2,10)]) ,2)
gear 3 4 5
cyl
4 0.06666667 0.66666667 0.40000000
6 0.13333333 0.33333333 0.20000000
8 0.80000000 0.00000000 0.40000000