Exercice 1:
Reproduisez cette figure de Burghard et al 2015
Aide:
Créez une nouvelle colonne (blade.ratio) avec le ratio de
blade.length.mm
ettotal.leaf.length.mm
Créez une nouvelle colonne (nommée par exemple
condition
) en concaténantday.length
,temperature
etfluctuation
Sélectionnez les background
Col
etLer
Faites un boxplot du ratio de
blade.length.mm
ettotal.leaf.length.mm
en fonction de lacondition
, en créant des facets en fonction du backgroundPas besoin de mettre de la couleur qui n’apporte rien au graphique
N’essayez pas de reproduire l’ordre des conditions (sur l’axe x). Nous verrons comment le faire à la prochaine séance
mutate(expt1, blade.ratio=blade.length.mm/total.leaf.length.mm) %>%
unite("condition", day.length, temperature, fluctuation, sep=".") %>%
filter(background%in%c("Col","Ler")) %>%
ggplot(aes(x=condition, y=blade.ratio)) +
geom_boxplot()+
ylim(0,1) +
facet_grid(.~background) +
theme(axis.text.x=element_text(angle = 45))
## Warning: Removed 150 rows containing non-finite outside the scale range
## (`stat_boxplot()`).
BONUS: Ce bonus vous permettra d’avoir des valeurs de x plus proches du graphique
- Avant de créer la nouvelle colonne en concaténant
day.length
,temperature
etfluctuation
, créer une colonneLD.SD
dans laquelle vous aurez “LD” à la place de la valeur “16” de la colonneday.length
, et “SD” à la place de la valeur “8” de la colonneday.length
. Utilisez ensuite cette colonneLD.SD
pour la concaténation avectemperature
etfluctuation
pour créer la colonnecondition
- Changez le thème du graphique pour enlever la grille et avoir un fond blanc.
mutate(expt1, blade.ratio=blade.length.mm/total.leaf.length.mm) %>%
mutate(LD.SD=str_replace(day.length, "16","LD"),
LD.SD=str_replace(LD.SD, "8","SD")) %>%
unite("condition", LD.SD, temperature, fluctuation, sep=".") %>%
filter(background%in%c("Col","Ler")) %>%
ggplot(aes(x=condition, y=blade.ratio)) +
geom_boxplot()+
ylim(0,1) +
facet_grid(.~background) +
theme_bw() +
theme(axis.text.x=element_text(angle = 45),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank())
## Warning: Removed 150 rows containing non-finite outside the scale range
## (`stat_boxplot()`).
Exercice 2:
- Utilisez la fonction
pivot_longer()
pour restructurer le tableau afin de faire un boxplot deblade.length.mm
ettotal.leaf.length.mm
, coloré parfluctuation
.
- Ajoutez aux boxplots des encoches indiquant l’étendue de l’intervalle de confiance à 95% de la médiane (voir l’option
notch
dansgeom_boxplot
). Si les encoches sont étroite, il y a peu d’incertitude sur la médiane, si les encoches sont large, il y a une forte incertitude sur la médiane. Si les encoches de boxplots que nous comparons se chevauchent, alors nous ne pouvons pas conclure à une différence de médiane entre les médiane des deux groupes.
pivot_longer(expt1, names_to = "trait", values_to ="length.mm",
cols = c(blade.length.mm, total.leaf.length.mm)) %>%
ggplot(aes(x=trait, y=length.mm, color=fluctuation)) +
geom_boxplot(notch=TRUE)
## Warning: Removed 630 rows containing non-finite outside the scale range
## (`stat_boxplot()`).
- Interprétez le graphique: Y a t’il un effet de la fluctuation de température sur la longueur de blade ou de la feuille? Pourquoi?
Sur le graphique nous observons que les valeurs des boxplots
pour les plantes ayant poussé en condition de température variable sont
plus élevée que pour les plantes ayant pousser en condition de
température stable. Pour les longueurs de blade et de la feuille, la
médiane est plus élevée en condition de température variable, et les
encoches sont petites, indiquant une forte certitude de la valeur de
médiane, et ne se chevauchent pas entre les deux conditions indiquant
une différence de médiane entre les deux conditions. Ce graphique montre
que les plantes poussant en condition de température variable ont une
longueur de blade et une longueur totale de la feuille plus grande que
en condition de température constante.
BONUS Optimisez le graphique obtenu en jouant sur le thème, les couleurs utilisée (visibles par des daltoniens), le titre et la valeur des axes et de la légende, de manière à avoir un graphique similaire au graphique suivant:
pivot_longer(expt1, names_to = "trait", values_to ="length.mm",
cols = c(blade.length.mm, total.leaf.length.mm)) %>%
ggplot(aes(x=trait, y=length.mm, fill=fluctuation)) +
geom_boxplot(notch = TRUE) +
scale_fill_brewer(palette = "Set2", labels = c("Con"="Constant", "Var"="Variable"),
name="Fluctuation type") +
theme_bw() +
scale_x_discrete(name="",labels=c("blade.length.mm"="Blade","total.leaf.length.mm"="Total leaf")) +
ylab("Length (mm)")
## Warning: Removed 630 rows containing non-finite outside the scale range
## (`stat_boxplot()`).