SciViews::R(lang = "fr")
## ✓ Default language: fr

Objectif

Analyse graphique du jeu de données data.io::zooplankton.

Analyses graphiques

zoo <- read(file = "zooplankton", package = "data.io")
names(zoo)
##  [1] "ecd"          "area"         "perimeter"    "feret"        "major"       
##  [6] "minor"        "mean"         "mode"         "min"          "max"         
## [11] "std_dev"      "range"        "size"         "aspect"       "elongation"  
## [16] "compactness"  "transparency" "circularity"  "density"      "class"
chart (data = zoo, ~ecd ) +
  geom_histogram (bins = 10 ) 

chart (data = zoo, ~ecd ) +
  geom_histogram (bins = 25 )

chart (data = zoo, ~ecd ) +
  geom_histogram (bins = 40 )

chart (data = zoo, ~ecd ) +
  geom_histogram (bins = 55 )

# Graphique sélectionné et mis au net

chart (data = zoo, ~ecd ) +
  geom_histogram (bins = 40 ) +
ylab ("Effectifs")

Le graphique le plus pertinent est le 3ème car l’intervalle des classes est correct. Il y a un nombre suffisant de classes mais il n’y en a pas en trop grande quantité par rapport à la quantité de données disponibles.

chart(data = zoo, ~ perimeter) +
  geom_density() 

Sur le graphique de la densité en fonction du périmètre, on peut voir qu’il y a un pic vers 5 mm de périmètre. Il y a donc une densité croissante entre 0 et 5 mm puis la courbe redescend progressivement entre 5 et 25 avec un léger rebond entre 12 et 20 mm de périmètre. Après 25 mm, la densité devient stagnante. L’axe des abscisses pourrait être petit pour voir plus facilement les données avant 25 mm de périmètre.

  # histogramme d'arrière-plan en gris ne tenant pas compte de la variable species

L’aire de la particule sur l’image est représentée sur ce graphique. L’aire des cnidaires est la plus importante. L’aire des poissons est la plus petite.

chart(data = zoo, class ~ area %col=% class %fill=% class) +
  ggridges::geom_density_ridges(show.legend = FALSE) 
## Picking joint bandwidth of 0.201

Ce graphique représente les classes en fonction de l’aire. On peut voir que globalement pour toutes les classes l’aire est entre 0 et 2 mm^2. Il y a un pic pour toutes les classes qui redscend et stagne.

# Réduction du jeu de données zoo
zoo_sub <- sfilter(zoo, class %in% c("Poecilostomatoid", "Calanoid", "Cyclopoid", "Harpacticoid"))
chart (data = zoo_sub, ~ feret %fill=% class | class) +
  geom_histogram(data = sselect (zoo_sub, -class),
    fill = "grey", bins = 25) + 
  geom_histogram(show.legend = FALSE, bins = 25) +
  ylab("Effectifs") 

Le diamètre le plus large est celui des calanoïdes. Les harpacticoïdes ont un diamètre entre 2 et 4. Les calanoïdes ont un diamètre entre 0 et 5. Les cyclopoïdes ont un diamètre entre 1 et 3. Les poecilistomatoïdes ont un diamètre entre 0 et 3.

chart (data = zoo_sub, ~elongation ) +
  geom_histogram (bins = 25 ) + 
  ylab("Effectifs")

L’élongation la plus grande est vesr 12. On voit qu’il y a une donnée isolée vers 98.

chart (data = zoo_sub, class ~aspect %col=% class) +
  geom_violin (show.legend = FALSE)

L’aspect est le plus grand pour les calanoïdes. L’aspect est le plus petit pour les harpacticoïdes.

> source des données : Grosjean, Ph & K. Denis (2004). Supervised classification of images, applied to plankton samples using R and ZooImage. Chap.12 of Data Mining Applications with R. Zhao, Y. & Y. Cen (eds). Elsevier. Pp 331-365. https://doi.org/10.1016/C2012-0-00333-X.