Science des données biologiques 2

Réalisé par le service d'Écologie numérique des Milieux aquatiques, Université de Mons (Belgique)

Préambule

Si vous n’avez jamais utilisé de tutoriel “learnr”, familiarisez-vous d’abord avec son interface ici.

Ne vous trompez pas dans votre adresse mail et votre identifiant Github

N’oubliez pas de soumettre votre réponse après chaque exercice

Conformément au RGPD (Règlement Général sur la Protection des Données), nous sommes tenus de vous informer de ce que vos résultats seront collecté afin de suivre votre progression. Les données seront enregistrées au nom de l’utilisateur apparaissant en haut de cette page. Corrigez si nécessaire ! En utilisant ce tutoriel, vous marquez expressément votre accord pour que ces données puissent être collectées par vos enseignants et utilisées pour vous aider et vous évaluer. Après avoir été anonymisées, ces données pourront également servir à des études globales dans un cadre scientifique et/ou éducatif uniquement.

Contexte

Des scientifiques ont réalisé des mesures d’abondance d’espèces de poissons et des mesures physico-chimiques sur 30 stations différentes.

L’objet doubs du package ade4 est une liste qui contient 4 jeux de donnnées. Nous nous intéresserons aux données portant sur les mesures environnementales.

[1] "list"

Ce tableau comprend 30 sites d’échantillonages avec 11 mesures environnementales.

Voici une courte description des variables étudiées (en anglais). Ces informations proviennent de la page d’aide ?ade4::doubs

  • dfs : distance from the source (km * 10),
  • alt : altitude (m),
  • slo : (log(x + 1) where x is the slope (per mil * 100),
  • flo : minimum average stream flow (m3/s * 100),
  • pH : pH,
  • har : total hardness of water (mg/l of Calcium),
  • pho : phosphates (mg/l * 100),
  • nit : nitrates (mg/l * 100),
  • amm : ammonia nitrogen (mg/l * 100),
  • oxy : dissolved oxygen (mg/l * 10),
  • bdo : biological demand for oxygen (mg/l * 10)
summary(enviro)
      dfs              alt             slo             flo      
 Min.   :   3.0   Min.   :172.0   Min.   :1.099   Min.   :  84  
 1st Qu.: 544.5   1st Qu.:248.0   1st Qu.:1.831   1st Qu.: 420  
 Median :1752.0   Median :395.0   Median :2.565   Median :2210  
 Mean   :1879.0   Mean   :481.5   Mean   :2.758   Mean   :2220  
 3rd Qu.:3017.2   3rd Qu.:782.0   3rd Qu.:3.390   3rd Qu.:2858  
 Max.   :4530.0   Max.   :934.0   Max.   :6.176   Max.   :6900  
       pH             har              pho              nit       
 Min.   :77.00   Min.   : 40.00   Min.   :  1.00   Min.   : 15.0  
 1st Qu.:79.25   1st Qu.: 84.25   1st Qu.: 12.50   1st Qu.: 50.5  
 Median :80.00   Median : 89.00   Median : 28.50   Median :160.0  
 Mean   :80.50   Mean   : 86.10   Mean   : 55.77   Mean   :165.4  
 3rd Qu.:81.00   3rd Qu.: 96.75   3rd Qu.: 56.00   3rd Qu.:242.5  
 Max.   :86.00   Max.   :110.00   Max.   :422.00   Max.   :620.0  
      amm              oxy              bdo        
 Min.   :  0.00   Min.   : 41.00   Min.   : 13.00  
 1st Qu.:  0.00   1st Qu.: 80.25   1st Qu.: 27.25  
 Median : 10.00   Median :102.00   Median : 41.50  
 Mean   : 20.93   Mean   : 93.90   Mean   : 51.17  
 3rd Qu.: 20.00   3rd Qu.:109.00   3rd Qu.: 52.75  
 Max.   :180.00   Max.   :124.00   Max.   :167.00  

Cartes auto-adaptatives (SOM)

La fonction som() du package kohonen ne peut employer qu’une matrice. Commencez par centrer et transfomez enviro en une matrice.

# function de base
DF %>.%
  scale(.) %>.%
  as.matrix(.) -> MATRIX

som. <- som(MATRIX, grid = somgrid(X, Y, topo = "hexagonal"))
# un premier graphique de diagnostic est le nombre d'observation pour 
plot(som., type = "mapping", shape = "straight")
summary(enviro)
# function de base
DF %>.%
  scale(.) %>.%
  as.matrix(.) -> MATRIX

som. <- som(MATRIX, grid = somgrid(X, Y, topo = "hexagonal"))
# un premier graphique de diagnostic est le nombre d'observation pour 
plot(som., type = "mapping", shape = "straight")
# function de base
enviro %>.%
  scale(.) %>.%
  as.matrix(.) -> envi_mat

som. <- som(envi_mat, grid = somgrid(3, 3, topo = "hexagonal"))
# un premier graphique de diagnostic est le nombre d'observation pour 
plot(som., type = "mapping", shape = "straight")
# TODO

Exploration graphique de som

Utilisez à nouveau le jeu de données enviro.

  • Réalisez une grille 3 sur 3
  • Réalisez un graphique de type = “codes”
# function de base
DF %>.%
  scale(.) %>.%
  as.matrix(.) -> MATRIX

som. <- som(MATRIX, grid = somgrid(X, Y, topo = "hexagonal"))
# un premier graphique de diagnostic est le nombre d'observation pour 
plot(som., type = "mapping", shape = "straight")
plot(som., type = "codes", 
     codeRendering = "segments", shape = "straight")
plot(zoo_som, type = "changes", shape = "straight")
summary(enviro)
DF %>.%
  scale(.) %>.%
  as.matrix(.) -> MATRIX

som. <- som(MATRIX, grid = somgrid(X, Y, topo = "hexagonal"))
# un premier graphique de diagnostic est le nombre d'observation pour 
plot(som., type = "mapping", shape = "straight")
plot(som., type = "codes", 
     codeRendering = "segments", shape = "straight")
plot(zoo_som, type = "changes", shape = "straight")
DF %>.%
  scale(.) %>.%
  as.matrix(.) -> MATRIX

som. <- som(MATRIX, grid = somgrid(X, Y, topo = "hexagonal"))
# un premier graphique de diagnostic est le nombre d'observation pour 
plot(som., type = "codes", 
     codeRendering = "segments", shape = "straight")
enviro %>.%
  scale(.) %>.%
  as.matrix(.) -> enviro_mat

som. <- som(enviro_mat, grid = somgrid(3, 3, topo = "hexagonal"))
# un premier graphique de diagnostic est le nombre d'observation pour 
plot(som., type = "codes", 
     codeRendering = "segments", shape = "straight")
# TODO

Après avoir réalisé ce graphiques, tentez de l’analyser.

Conclusion

Vous venez de terminer votre séance d’exercice.

Laissez nous vos impressions sur cet outil pédagogique ou expérimentez encore dans la zone ci-dessous. Rappelez-vous que pour placer un commentaire dans une zone de code R, vous devez utilisez un dièse (#) devant vos phrases.

# Ajout de commentaires 
# ...
# Not yet...

Guyliann Engels & Philippe Grosjean