Exercice 1:
Reproduisez cette figure de Burghard et al 2015
Aide:
Créez une nouvelle colonne (blade.ratio) avec le ratio de
blade.length.mmettotal.leaf.length.mmCréez une nouvelle colonne (nommée par exemple
condition) en concaténantday.length,temperatureetfluctuationSélectionnez les background
ColetLerFaites un boxplot du ratio de
blade.length.mmettotal.leaf.length.mmen 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,temperatureetfluctuation, créer une colonneLD.SDdans 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.SDpour la concaténation avectemperatureetfluctuationpour 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.mmettotal.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
notchdansgeom_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()`).