2 min read

Jeu de données par défaut

iris, mtcars, diamonds

R fourni des jeu de données , très pratique car contenant l’ensemble des caractéristiques permettant d’exploiter les fonctions de R.

iris contient un jeu de données de 50 plantes de 3 espèces d’iris différentes.

En botanique la taxonomie en fait de cette manière: genre, espèce, nom commun, famille.

C’est espèces sont:

  • setosa
  • virginica
  • versicolor

Et pour chacune de ces espèces, les observation sont:

  • la largeur et la longueur des sépales
  • la largeur et la longueur des pétales

Exemple simple sans data

On crée un simple graphique en barre barplot, en leur attribuant une valeur arbitraire (c(3, 7)), puis on applique une couleur (moche) de manière tout aussi arbitraire , col = c("darkblue", "red").

Avec un jeu comme iris, on va pouvoir attribuer des couleurs en fonctions des caractéristiques de chaque espèces, de créer des groupes et mettre en avant les valeurs distinguant les espèces les unes des autres.

library(ggplot2)
theme_set(theme_bw())
barplot(c(3, 7), col = c("darkblue", "red"))

Inspectons iris

Nous retrouvons bien 150 observations réparti en 5 variables:

  • longueur des sépales
  • largeur des sépales
  • longueur des pétales
  • longueur des pétales
  • les espèces

On notera la présence du terme factor, car il y a un facteur catégorisant : les 3 espèces différentes.

str(iris)
## 'data.frame':    150 obs. of  5 variables:
##  $ Sepal.Length: num  5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
##  $ Sepal.Width : num  3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
##  $ Petal.Length: num  1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
##  $ Petal.Width : num  0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
##  $ Species     : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...

Créons donc un graphique de répartition

En appliquant une couleur arbitraire pour chaque espèces

ggplot(iris, aes(Species, Sepal.Length)) +
  geom_boxplot(aes(fill = Species)) +
  scale_fill_manual(values = c("#00AFBB", "#E7B800", "#FC4E07")) 

En appliquant une palette de couleur

ggplot(iris, aes(Species, Sepal.Length)) +
  geom_boxplot(aes(fill = Species)) +
  scale_fill_brewer(palette = "Pastel2")

library("ggsci")
ggplot(iris, aes(Species, Sepal.Length)) +
  geom_boxplot(aes(fill = Species)) +
  scale_fill_lancet()

library(ggplot2)
library(ggridges)
theme_set(theme_minimal())
ggplot(iris, aes(x = Sepal.Length, y = Species, fill = Species)) +
  geom_density_ridges(
    aes(point_color = Species, point_fill = Species, point_shape = Species),
    alpha = .2, point_alpha = 1, jittered_points = TRUE
  ) +
  scale_point_color_hue(l = 40) +
  scale_discrete_manual(aesthetics = "point_shape", values = c(21, 22, 23))
## Picking joint bandwidth of 0.181