Graphes de treillis en R
Il prend en charge différents types de tracés tels que les diagrammes de dispersion, les tracés linéaires, les diagrammes à barres et les histogrammes, entre autres.
Le format type est le suivant
graph_type(formula, data=)
où graph_type est sélectionné dans la liste ci-dessous. formula spécifie la/les variable(s) à afficher et les éventuelles variables de conditionnement. Par exemple ~x|A signifie afficher la variable numérique x pour chaque niveau du facteur A. y~x | A*B signifie afficher la relation entre les variables numériques y et x séparément pour chaque combinaison des niveaux des facteurs A et B. ~x signifie afficher la variable numérique x seule.
graph_type | description | exemples de formules |
barchart | diagramme en barres | xA |
bwplot | boxplot | xA |
cloud | Diagramme de dispersion en 3D | z~x*y |
contourplot | Tracé de contour en 3D | z~x*y |
densityplot | parcelle de densité des noyaux | ~x |
dotplot | dotplot | ~x |
histogram | histogram | ~x |
tracé de niveau | Tracé de niveau en 3D | z~y*x |
parallèle | tracé des coordonnées parallèles | cadre de données |
splom | matrice de nuage de points | cadre de données |
stripplot | parcelles en bandes | |
xyplot | scatterplot | y~x |
fil de fer | Graphique filaire en 3D | z~y*x |
Voici quelques exemples. Ils utilisent les données de la voiture (kilométrage, poids, nombre de vitesses, nombre de cylindres, etc.) de la base de données mtcars.
# Lattice Examples
library(lattice)
attach(mtcars)
# create factors with value labels
gear.f<-factor(gear,levels=c(3,4,5),
labels=c("3gears","4gears","5gears"))
cyl.f <-factor(cyl,levels=c(4,6,8),
labels=c("4cyl","6cyl","8cyl"))
# kernel density plot
densityplot(~mpg,
main="Density Plot",
xlab="Miles per Gallon")
# kernel density plots by factor level
densityplot(~mpg|cyl.f,
main="Density Plot by Number of Cylinders",
xlab="Miles per Gallon")
# kernel density plots by factor level (alternate layout)
densityplot(~mpg|cyl.f,
main="Density Plot by Numer of Cylinders",
xlab="Miles per Gallon",
layout=c(1,3))
# boxplots for each combination of two factors
bwplot(cyl.f~mpg|gear.f,
ylab="Cylinders", xlab="Miles per Gallon",
main="Mileage by Cylinders and Gears",
layout=(c(1,3))
# scatterplots for each combination of two factors
xyplot(mpg~wt|cyl.f*gear.f,
main="Scatterplots by Cylinders and Gears",
ylab="Miles per Gallon", xlab="Car Weight")
# 3d scatterplot by factor level
cloud(mpg~wt*qsec|cyl.f,
main="3D Scatterplot by Cylinders")
# dotplot for each combination of two factors
dotplot(cyl.f~mpg|gear.f,
main="Dotplot Plot by Number of Gears and Cylinders",
xlab="Miles Per Gallon")
# scatterplot matrix
splom(mtcars[c(1,3,4,5,6)],
main="MTCARS Data")
Notez, comme dans le graphique 1, que la spécification d'une variable de conditionnement est facultative. La différence entre les graphiques 2 et 3 est l'utilisation de l'option de mise en page pour contrôler l'emplacement des panneaux.
Personnalisation des graphes de treillis
Contrairement aux graphes de base R, les graphes de treillis ne sont pas affectés par la plupart des options définies dans la fonction par( ). Pour voir les options qui peuvent être modifiées, consultez help(xyplot). Il est souvent plus facile de définir ces options dans le cadre des fonctions de traçage de haut niveau décrites ci-dessus. En outre, vous pouvez écrire des fonctions qui modifient le rendu des panneaux. En voici un exemple.
# Customized Lattice Example
library(lattice)
panel.smoother <- function(x, y) {
panel.xyplot(x, y) # show points
panel.loess(x, y) # show smoothed line
}
attach(mtcars)
hp <- cut(hp,3) # divide horse power into three bands
xyplot(mpg~wt|hp, scales=list(cex=.8, col="red"),
panel=panel.smoother,
xlab="Weight", ylab="Miles per Gallon",
main="MGP vs Weight by Horse Power")
Aller plus loin
Les graphiques en treillis constituent un système graphique complet à part entière. Le livre de Deepanyan Sarkar Lattice : Multivariate Data Visualization with R</a > est la référence absolue. Vous pouvez également consulter le guide de l'utilisateur de Trellis</a >. Dr. Ihaka a créé une merveilleuse série de diapositives </a > sur le sujet. Une excellente étude préliminaire des graphes en treillis se trouve dans W.S. Le livre classique de Cleveland Visualizing Data</a >.
Pratiquer
Essayez ce cours sur les distributions de probabilités multivariées en R</a >.