Science des données biologiques

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.

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.

Objectifs

  • Appréhender la distribution du \(\chi^2\)

  • Appréhender les tests d’hypothèses

Les fumeurs

tabac <- data.frame(sexe = c("filles", "garçons", "filles",
                             "garçons"),
                    comport = c("fumeurs", "fumeurs", "non fumeurs", "non fumeurs"),
                    freq = c(12, 19, 26, 20))
#tabac
tabac_table <- xtabs(freq ~ sexe + comport, data = tabac)

# affichage du tableau de données 

knitr::kable(tabac_table)
fumeurs non fumeurs
filles 12 26
garçons 19 20

Afin de calculer le \(\chi^2\) vous devez au préalable calculer un second tableau comprennant \(\alpha_i\)

Warning: `data_frame()` is deprecated, use `tibble()`.
This warning is displayed once per session.

Calculez le chi2

Déterminez l’aire à droite délimité par la valeur du quantile calculé ci-dessus

pchisq(QUANTILES, df = DEGREES_OF_FREEDOM, lower.tail = TRUE)
pchisq(2.35, df = 1, lower.tail = FALSE)
#TODO
Quiz

Calculez cette fois ci via R et les snippets le test de \(\chi^2\) d’indépendance. Le snippet est .icchi2bi et renvoit ces instructions.

(chi2. <- chisq.test(TABLE)); cat("Expected frequencies:\n"); chi2.[["expected"]]
(chi2. <- chisq.test(tabac_table)); cat("Expected frequencies:\n"); chi2.[["expected"]]
#TODO

Obtenez vous la même valeur que calculé à la main ? La réponse est non. En effet, une correction est réalisée via la correction de continuité de Yates. En ajoutant l’argument correct = FALSE, vous retrouvez la même valeur que celle que vous avez calculé à la main.

(chi2. <- chisq.test(tabac_table, correct = FALSE)); cat("Expected frequencies:\n"); chi2.[["expected"]]
#TODO

Les groupes sanguins

L’étude s’intéresse aux groupes sainguins dans l’Iowa, le Missouri et la Floride

Les distributions des groupes sanguins sont-elles identiques dans les trois états étudiés ?

sang <- data.frame(groupe = c("A", "B", "AB", "O", "A", "B", "AB", "O", "A", "B", "AB", "O"),
                   etat = c("Floride", "Floride", "Floride", "Floride", "Iowa", "Iowa", "Iowa", "Iowa", "Missouri", "Missouri", "Missouri", "Missouri"),
                   freq = c(122, 117, 19, 244, 1781, 1351, 289, 3301, 353, 269, 60, 713))

sang_table <- xtabs(freq ~ groupe + etat, data = sang)
knitr::kable(sang_table)
Floride Iowa Missouri
A 122 1781 353
AB 19 289 60
B 117 1351 269
O 244 3301 713

Avant de réalisez votre \(\chi^2\) d’indépendance avec R, déterminez le nombre de degré de liberte de votre \(\chi^2\)

Calculez le \(\chi^2_{obs}\) avec R et via le snippet .icchi2bi qui renvoit ces instructions.

(chi2. <- chisq.test(TABLE)); cat("Expected frequencies:\n"); chi2.[["expected"]]
(chi2. <- chisq.test(sang_table)); cat("Expected frequencies:\n"); chi2.[["expected"]]
#TODO
Quiz

Conclusion

Bravo! Vous venez de terminer votre séance d’exercices dans un tutoriel “learnr”.

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...

Traitement des données I

Guyliann Engels & Philippe Grosjean