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.
Répondez aux questions ci-dessous
Deux chercheurs distants de plusieurs centaines de kilomètres, collaborent sur un projet commun. Ils ont pour cela décidé d’employer un outil de gestion de version et d’héberger ce projet sur un système d’hébergement web dédié pour cela.
Sur base de l’image ci-dessous et de la situation précisée précédemment, répondez aux questions suivantes.
Le chercheur 2 s’intéresse au projet du chercheur 1, travaille dessus et propose des modifications afin l’améliorer.
Le chercheur 2 vient d’intégrer le projet que le chercheur 1 réalisait seul. Il doit donc acquérir le dépot pour la première fois sur sa machine avant de pouvoir contribuer à ce projet.
Sur base de l’image ci-dessous et de la situation précisée précédemment, répondez aux questions suivantes.
Sur base des données qui sont mises à votre disposition reproduisez le graphique ci-dessous
Le jeu des données mis à votre dispositon est urchin_bio
qui comprend les variables suivantes : origin, diameter1, diameter2, height, buoyant_weight, weight, solid_parts, integuments, dry_integuments, digestive_tract, dry_digestive_tract, gonads, dry_gonads, skeleton, lantern, test, spines, maturity, sex
# importation des données
urchin <- data.io::read("urchin_bio", package = "data.io", lang = "FR")
# Reproduisez le graphique ci-dessous
#
#
# importation des données
urchin <- data.io::read("urchin_bio", package = "data.io", lang = "FR")
# Reproduisez le graphique ci-dessous
# Relisez le chapitre 2 du livre science des données 1
# https://biodatascience-course.sciviews.org/sdd-umons/nuage-de-points.html
# importation des données
urchin <- data.io::read("urchin_bio", package = "data.io", lang = "FR")
# Reproduisez le graphique ci-dessous
# VOus pouvez utilisez la fonction chart() couplée à la function geom_point()
# pour réaliser le graphique demandé
chart() +
geom_point()
# importation des données
urchin <- data.io::read("urchin_bio", package = "data.io", lang = "FR")
# Reproduisez le graphique ci-dessous
# VOus pouvez utilisez la fonction chart() couplée à la function geom_point()
# pour réaliser le graphique demandé
chart(urchin, height ~ weight) +
geom_point()
# importation des données
urchin <- data.io::read("urchin_bio", package = "data.io", lang = "FR")
# Reproduisez le graphique ci-dessous
chart(urchin, height ~ weight %col=% origin) +
geom_point()
# TODO
Sur base des données qui sont mises à votre disposition reproduisez le graphique ci-dessous
Le jeu des données mis à votre dispositon est ToothGrowth
qui comprend les variables suivantes : len, supp, dose
# imporation des données
tooth_growth <- read("ToothGrowth", package = "datasets")
# fonction pour ajouter le nombre d'observations
give_n <- function(x)
c(y = max(x) * 1.1, label = length(x))
# reproduisez le graphique
#
#
# imporation des données
tooth_growth <- read("ToothGrowth", package = "datasets")
# fonction pour ajouter le nombre d'observations
give_n <- function(x)
c(y = max(x) * 1.1, label = length(x))
# Relisez le chapitre 2 du livre science des données 1
# http://biodatascience-course.sciviews.org/sdd-umons/boxplot.html
# imporation des données
tooth_growth <- read("ToothGrowth", package = "datasets")
# fonction pour ajouter le nombre d'observations
give_n <- function(x)
c(y = max(x) * 1.1, label = length(x))
# graphique
chart(data = tooth_growth, len ~ supp) +
geom_boxplot()
# imporation des données
tooth_growth <- read("ToothGrowth", package = "datasets")
# fonction pour ajouter le nombre d'observations
give_n <- function(x)
c(y = max(x) * 1.1, label = length(x))
# graphique
chart(data = tooth_growth, len ~ supp %fill=% as.factor(dose)) +
geom_boxplot()
# imporation des données
tooth_growth <- read("ToothGrowth", package = "datasets")
# fonction pour ajouter le nombre d'observations
give_n <- function(x)
c(y = max(x) * 1.1, label = length(x))
# graphique
chart(data = tooth_growth, len ~ supp %fill=% as.factor(dose)) +
geom_boxplot() +
labs(y = "Longueur des dents [mm]", x = "Supplémentation", fill = "Dose")
# imporation des données
tooth_growth <- read("ToothGrowth", package = "datasets")
# fonction pour ajouter le nombre d'observations
give_n <- function(x)
c(y = max(x) * 1.1, label = length(x))
# graphique
chart(data = tooth_growth, len ~ supp %fill=% as.factor(dose)) +
geom_boxplot() +
stat_summary(fun.data = give_n, geom = "text", hjust = 0.5,
position = position_dodge(0.75)) +
labs(y = "Longueur des dents [mm]", x = "Supplémentation", fill = "Dose")
# Vous auriez également pu employer cette solution
tooth_growth <- read("ToothGrowth", package = "datasets")
tooth_growth$dose <- as.ordered(tooth_growth$dose)
tooth_growth <- labelise(tooth_growth, self = FALSE,
label = list(
len = "Longueur des dents",
supp = "Supplémentation",
dose = "Dose"
),
units = list(
len = "mm",
supp = NA,
dose = "mg/J"
)
)
# Réalisation graphique
chart(data = tooth_growth, len ~ supp %fill=% dose) +
geom_boxplot() +
stat_summary(fun.data = give_n, geom = "text", hjust = 0.5,
position = position_dodge(0.75))
# TODO
#nom du jeu de données : df
names(df)
[1] "x"
summary(df)
x
Min. :-94.368
1st Qu.:-24.333
Median : 7.475
Mean : 9.854
3rd Qu.: 36.684
Max. :113.215
Sur base du jeu de données suivant ci-dessus , répondez à la question ci-dessous
Des snippets sont mis à votre disposition en fin de question
set.seed(43)
df <- tibble::tibble(x = rnorm(n = 60, mean = 10, sd = 50))
car::qqPlot(df[["x"]], distribution = "norm",
envelope = 0.99, col = "Black", ylab = "x",cex = .4)
#TODO
Sur base des données qui sont mises à votre disposition reproduisez le graphique ci-dessous
Afin de structurer votre réflexion, voici quelques pistes pour vous guider
importer les données
calculer une nouvelle variale : \(bmi = \frac{weight}{height^2}\)
Attention, le poids doit être en kg et la taille en mètre.
calculer une nouvelle variable qui va séparer la variable bmi avec les personnes en sous poids (inférieur à 18.5), de corpulence normale (18.5 à 25) et en surpoids (supérieur à 25)
reproduire le graphique
# importation des données
biometry <- read("biometry", package = "BioDataScience", lang = "FR")
# calcule des nouvelles variables
#
# reproduction du graphique
#
biometry <- read("biometry", package = "BioDataScience", lang = "FR")
# nommer la nouvelle variable bmi
biometry %>.%
mutate(., bmi = ) -> biometry
biometry <- read("biometry", package = "BioDataScience", lang = "FR")
biometry %>.%
mutate(., bmi = weight/(height/100)^2) -> biometry
biometry <- read("biometry", package = "BioDataScience", lang = "FR")
biometry %>.%
mutate(., bmi = weight/(height/100)^2) -> biometry
biometry$bmi_rec <- cut(biometry$bmi, include.lowest=FALSE, right=FALSE,
breaks= c())
biometry <- read("biometry", package = "BioDataScience", lang = "FR")
biometry %>.%
mutate(., bmi = weight/(height/100)^2) -> biometry
biometry$bmi_rec <- cut(biometry$bmi, include.lowest=FALSE, right=FALSE,
breaks=c(0, 18.5, 25, 60))
biometry <- read("biometry", package = "BioDataScience", lang = "FR")
biometry %>.%
mutate(., bmi = weight/(height/100)^2) -> biometry
biometry$bmi_rec <- cut(biometry$bmi, include.lowest=FALSE, right=FALSE,
breaks=c(0, 18.5, 25, 60))
chart(biometry, height ~ weight %col=% bmi_rec) +
geom_point()
biometry <- read("biometry", package = "BioDataScience", lang = "FR")
biometry %>.%
mutate(., bmi = weight/(height/100)^2) -> biometry
biometry$bmi_rec <- cut(biometry$bmi, include.lowest=FALSE, right=FALSE,
breaks=c(0, 18.5, 25, 60))
chart(biometry, height ~ weight %col=% bmi_rec | gender) +
geom_point()
#TODO
Cette question n’est pas évidente, n’oubliez pas que vous pouvez quitter le learnR afin de chercher vos réponses sur internet, dans le livre en ligne ou encore utiliser les chunk, les snippets,…
Des scientifiques belges s’intéressent aux rendements de deux variétés de pomme de terre : la bintje et la fontane. Après 110 jours, il réalise des prélèvements sur différentes parcelles en Belgique qu’ils quantifient en tonnes par hectare.
Reproduisez le tableau ci-dessous, le jeu de données mis à votre disposition se nomme pdt
et les variables sont les suivantes : rendement, variete. La fonction de mise en forme du tableau est kable()
du package knitr
Variété | Rendement moyen [t/ha] | Nombre de parcelles |
---|---|---|
bintje | 34.70195 | 18 |
fontane | 38.41439 | 28 |
set.seed(42)
pdt <- tibble(
rendement = c(rnorm(n = 18, mean = 33.6, sd = 4), rnorm(n = 28, mean = 39.5, sd = 4)),
variete = c(rep("bintje", times = 18), rep("fontane", times = 28)))
summary(pdt)
#
#
pdt %>.%
group_by(., ) %>.%
summarise(., ) %>.%
knitr::kable(., )
pdt %>.%
group_by(., ) %>.%
summarise(., mean = mean(), count = sum(!is.na())) %>.%
knitr::kable(., col.names = c())
pdt %>.%
group_by(., variete) %>.%
summarise(., mean = mean(), count = sum(!is.na())) %>.%
knitr::kable(., col.names = c())
pdt %>.%
group_by(., variete) %>.%
summarise(., mean = mean(rendement), count = sum(!is.na(rendement))) %>.%
knitr::kable(., col.names = c("Variété" ,"Rendement moyen [t/ha]", "Nombre de parcelles"))
# TODO
Cette exercice s’inspire des observations relayé sur le site du sillon Belge de l’article consulté le 3 septembre 2019 suivant : https://www.sillonbelge.be/4731/article/2019-08-28/bintje-et-fontane-apres-110-115-jours-faute-de-casser-la-baraque-ces-deux
L’association wallone de l’élevage dispose de plusieurs centres d’insémination. Ils ont un recensement des différents taureaux reproducteurs. Reproduisez le graphique ci-dessous. Ce dernier ne montre que les individus compris entre 20 et 55 mois. vous avez à votre disposition le jeu de données beef
qui comprend les variables suivantes : variety, name, age, height, weight
beef <- read(file = system.file("extdata", "belgianblue.xlsx", package = "BioDataScience2"), type = "xlsx")
summary(beef)
# reproduisez le graphique suivant
#
#
# il existe de nombreuses manière d'obtenir ce graphique
# la fonction dont vous avez besoin est la fonction filter()
# structure de la réponse
beef %>.%
filter(.,) %>.%
chart(.,) +
geom_point() +
labs()
beef %>.%
filter(.,) %>.%
chart(., weight ~ age %col=% variety) +
geom_point()
beef %>.%
filter(.,) %>.%
chart(., weight ~ age %col=% variety) +
geom_point() +
labs(y = "Masse [kg]", x = "Age [mois]", color = "Variété")
beef %>.%
filter(., age >= 20 & age <= 55) %>.%
chart(., weight ~ age %col=% variety) +
geom_point() +
labs(y = "Masse [kg]", x = "Age [mois]", color = "Variété")
# TODO
set.seed(43)
weight <- tibble::tibble(weight = c(rnorm(n = 15, mean = 100, sd = 5),
rnorm(n = 15, mean = 102, sd = 5)),
area = rep(c("a", "b"), each = 15))
weight$area <- as.factor(weight$area)
Vous avez à votre disposition le jeu de données weight
dont voici quelques informations :
# nom du jeu de données : weight
# nom des variables du jeu de données
names(weight)
[1] "weight" "area"
# résumé des variables
summary(weight)
weight area
Min. : 90.47 a:15
1st Qu.: 97.71 b:15
Median :100.00
Mean :100.33
3rd Qu.:102.71
Max. :112.32
Réalisez un test de Student bilatéral avec un seuil \(\alpha\) de 0.05 et de variance inégale.
# résumé du jeu de données
summary(weight)
#
#
t.test(data = weight, weight ~ area,
alternative = "two.sided", conf.level = 0.95, var.equal = FALSE)
Des scientifiques réalisent des pêches sur 100 stations d’intérêts afin d’étudier la diversité des poissons dans les cours d’eau de wallonie. Ils s’intéressent tout particulièrement à l’espèce Barbus barbus L. 1758. A la suite de leurs recensements, ils souhaitent connaitre le nombre de stations dans les zones A,C,D dont la densité relative en barbeau est supérieure à 12.5 % par rapport à l’ensemble des poissons pêchés.
Ils mettent à votre disposition un jeu de données qui se nomme density
avec deux variables les zones (area
) et la densité relative (densi
) de barbeau commun par rapport à l’ensemble des poissons pêchés.
#nom du jeu de données : density
names(density)
[1] "area" "densi"
summary(density)
area densi
A:20 Min. : 8.094
B:20 1st Qu.:10.676
C:20 Median :11.876
D:20 Mean :11.862
E:20 3rd Qu.:12.882
Max. :16.617
Vous devez retirer les zones (area
) B et E et ne garder que les valeurs de densité strictement supérieures à 12.5.
set.seed(43)
set.seed(43)
rep(c("A", "B", "C", "D", "E"), each = 20) -> t
tt <- c(rnorm(n = 20, mean = 10, sd = 1),
rnorm(n = 20, mean = 12, sd = 1),
rnorm(n = 20, mean = 11, sd = 1),
rnorm(n = 20, mean = 12, sd = 1),
rnorm(n = 20, mean = 14, sd = 1))
density <- tibble::tibble(area = as.factor(t) , densi = tt)
density %>.%
dplyr::filter(., area %in% c("A", "C", "D") & densi > 12.5) %>.%
nrow(.)-> t111
density %>.%
dplyr::filter(., area %in% c("A", "C", "D") & densi > 12.5) %>.%
nrow(.)
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 utiliser un dièse (#
) devant vos phrases.
# Ajout de commentaires
# ...
# Not yet...