Aujourd’hui nous allons voir comment:
Extraire les statistiques descriptives avec
group_by()
et summarise()
Ajouter ces statistiques descriptives à un graphique
Avant de rentrer dans le vif du sujet il nous faut mettre en place notre environnement de travail. Créez un nouveau script R et:
# Chargez la librairie `tidyverse`
# changer votre répertoire de travail pour être dans le repertoire de la session 5
# Importer `burghardt_et_al_2015_expt1.txt` et mettez le dans un objet appelé `expt1`
Nous sommes maintenant prêt!
group_by()
et summarise()
Parfois nous voulons résumer nos données dans une table plus petite et en extraire des statistiques descriptives (moyenne, médiane, nombre d’observations …).
Ce type d’opération peut être fait avec la combinaison de deux
fonctions: group_by()
et summarise()
.
Notez que group_by()
ne change pas le format de la table
de données. Cette fonction liste des lignes qui doivent être groupées.
Nous pouvons ensuite utiliser summarise()
pour extraire des
statistiques descriptives de chaque groupe.
Par exemple, nous pouvons extraire la moyenne pour le temps de floraison de chaque génotype:
group_by(expt1, genotype) %>%
summarise(mean.days.to.flower = mean(days.to.flower, na.rm = TRUE))
## # A tibble: 10 × 2
## genotype mean.days.to.flower
## <chr> <dbl>
## 1 Col Ama 55.8
## 2 Col FRI 70.2
## 3 Ler-1 55.6
## 4 fca-6 70.4
## 5 flc-3 FRI 53.1
## 6 flk-1 77.6
## 7 fve-3 81.2
## 8 ld-1 89.8
## 9 prmt5 FRI 88.7
## 10 vin3-4 FRI 95.7
L’output contient deux colonnes:
genotype
qui est la colonne qui a servi à grouper
les données
mean.days.to.flower
qui est la colonne crée par la
fonction summarise
Il n’y a que 10 lignes dans cette table, une par génotype.
Il est possible de grouper les données par plus d’une variable.
Par exemple nous pouvons mesurer la moyenne, la médiane et l’écart type pour chaque génotype aux différentes températures:
group_by(expt1, genotype, temperature) %>%
summarise(mean.days.flower = mean(days.to.flower, na.rm = TRUE),
sd.days.flower = sd(days.to.flower, na.rm = TRUE),
median.days.flower = median(days.to.flower, na.rm = TRUE))
## `summarise()` has grouped output by 'genotype'. You can override using the
## `.groups` argument.
## # A tibble: 20 × 5
## # Groups: genotype [10]
## genotype temperature mean.days.flower sd.days.flower median.days.flower
## <chr> <dbl> <dbl> <dbl> <dbl>
## 1 Col Ama 12 66.6 25.5 62
## 2 Col Ama 22 46.0 20.5 51
## 3 Col FRI 12 81.1 26.2 80
## 4 Col FRI 22 57.8 25.9 59.5
## 5 Ler-1 12 67.4 22.7 64
## 6 Ler-1 22 45.2 18.3 51.5
## 7 fca-6 12 76.2 20.9 72.5
## 8 fca-6 22 63.9 34.6 40
## 9 flc-3 FRI 12 64.7 25.2 46
## 10 flc-3 FRI 22 43 17.5 50
## 11 flk-1 12 87.8 27.9 87
## 12 flk-1 22 61.2 29.2 47
## 13 fve-3 12 96.1 26.3 92
## 14 fve-3 22 51.5 5.96 49
## 15 ld-1 12 99.8 27.8 100
## 16 ld-1 22 72.9 36.5 60
## 17 prmt5 FRI 12 103. 22.0 102
## 18 prmt5 FRI 22 67.2 26.6 62
## 19 vin3-4 FRI 12 111. 40.0 83
## 20 vin3-4 FRI 22 72.5 29.7 69
Il y a maintenant 20 lignes dans la table, car chaque génotype apparaît deux fois (12 et 22 degrés)
Une autre information utile que nous pouvons extraire est le nombre
d’observation pour chaque groupe. Pour cela nous devons utiliser la
fonction n()
, dans summarise()
qui compte le
nombre de ligne pour chaque groupe.
Par exemple, pour connaitre le nombre d’observations pour chaque génotype:
group_by(expt1, genotype) %>%
summarise(n.obs = n())
## # A tibble: 10 × 2
## genotype n.obs
## <chr> <int>
## 1 Col Ama 135
## 2 Col FRI 128
## 3 Ler-1 68
## 4 fca-6 64
## 5 flc-3 FRI 136
## 6 flk-1 60
## 7 fve-3 60
## 8 ld-1 60
## 9 prmt5 FRI 125
## 10 vin3-4 FRI 121
Attention, n()
ne peut être utilisé que dans la fonction
summarise()
.
Attention: Quand vous utilisez la fonction
group_by()
, les lignes du tableau restent groupées en
fonction de la variable utilisée. Les opérations suivantes vont utiliser
ces groupes, ce qui peut poser problème. Pensez à utiliser la fonction
ungroup()
pour enlever les groupes quand vous avez fini
avec group_by()
et summarise()
Exercice 1:
Calculez la médiane et l’écart-type de
blade.length.mm
ettotal.leaf.length.mm
pour chaquegenotype
aux différentesday.length
. Ajoutez aussi le nombre d’observations de chaque groupe
BONUS
Calculez chaquegenotype
en fonction de s’ils ont subit ou non unevernalization
: La moyenne du ratio deblade.length.mm
ettotal.leaf.length.mm
Le nombre d’observation de chaque groupe
Modifiez la colonne qui contient le nombre d’observations de manière à ajouter “n=” devant la valeur du nombre d’observations
Une autre possibilité est d’ajouter les statistiques descriptives à un graphique contenant les données.
Pour cela, nous devons:
Utiliser group_by()
et summarise()
pour
extraire les statistiques descriptives
Utiliser une fonction de la famille *_join()
pour
les combiner avec nos données
Nous pouvons maintenant faire un graphique contenant les données et les statistiques descriptives.
Par exemple, prenons ce boxplot:
ggplot( expt1, aes(genotype, rosette.leaf.num)) +
geom_boxplot()
## Warning: Removed 95 rows containing non-finite outside the scale range
## (`stat_boxplot()`).
Si nous voulons y ajouter le nombre d’observations pour chaque groupe, nous utilisons le script suivant:
group_by(expt1, genotype) %>%
summarise(n.obs=n()) %>%
mutate(n.obs=paste("n =",n.obs)) %>%
inner_join(expt1, by="genotype") %>%
ggplot( aes(genotype, rosette.leaf.num)) +
geom_boxplot() +
geom_text(aes(label=n.obs, x=genotype, y=0))
## Warning: Removed 95 rows containing non-finite outside the scale range
## (`stat_boxplot()`).
Exercice 2
Faites un voilin plot de
total.leaf.length.mm
pour chaque génotype et ajoutez la médiane pour chaque groupe (avec un point coloré) ainsi que le nombre d’observation de chaque groupeExportez et sauvez le graphique obtenu au format
jpg
BONUS Lisez la partie du cours sur les facteurs (que nous n’aurons pas le temps de traiter) et faites l’exercice 3.
Avec cette même méthode il est aussi possible d’ajouter des informations pour des groupes formés à partir de deux variables.
Par exemple, si nous voulons faire un boxplot
rosette.leaf.num
pour chaque génotype en fonction de la
température et y ajouter le nombre d’observations des différents
groupes, nous utilisons le script suivant:
group_by(expt1, genotype, fluctuation) %>%
summarise(n.obs=n()) %>%
mutate(n.obs=paste("n =",n.obs)) %>%
inner_join(expt1, by=c("genotype", "fluctuation")) %>%
ggplot( aes(genotype, rosette.leaf.num, fill=fluctuation)) +
geom_boxplot() +
geom_text(aes(label=n.obs, x=genotype, y=-2),position=position_dodge(0.8), angle=45)
## `summarise()` has grouped output by 'genotype'. You can override using the
## `.groups` argument.
## Warning: Removed 95 rows containing non-finite outside the scale range
## (`stat_boxplot()`).
facteurs
Par défaut, les catégories dans un graphique sont ordonnées alphabétiquement. Bien souvent ce n’est pas l’ordre que nous voulons.
Par exemple, essayons de reproduire le graphique suivant:
filter(expt1, temperature==22, day.length==16) %>%
ggplot(aes(x=genotype, y=days.to.bolt, fill=fluctuation)) +
geom_boxplot()
Les génotypes ne sont pas dans le même ordre car ggplot a utilisé l’ordre alphabétique, même s’ils n’étaient pas dans cet ordre dans le tableau.
Afin de changer l’ordre nous devons utiliser un autre type de variable, les facteurs. Les facteurs sont des variables spéciales de type caractère pour lesquels nous pouvons définir des niveaux ( levels ), c’est à dire les modalités prédéfinies de cette variable. Ces niveaux sont les valeurs uniques de la variable auxquelles un ordre peut être attaché.
Nous pouvons convertir une variable en facteurs en utilisant la
fonction factor()
:
# Convertissons genotype dans expt1 en facteurs:
factor(expt1$genotype)
## [1] Col Ama Col Ama Col Ama Col Ama Col Ama Col Ama
## [7] Col Ama Col Ama Col Ama Col Ama Col Ama Col Ama
## [13] Col Ama Col Ama Col Ama Col Ama Col Ama Col Ama
## [19] Col Ama Col Ama Col Ama Col Ama Col Ama Col Ama
## [25] Col Ama Col Ama Col Ama Col Ama Col Ama Col Ama
## [31] Col Ama Col Ama Col Ama Col Ama Col Ama Col Ama
## [37] Col Ama Col Ama Col Ama Col Ama Col Ama Col Ama
## [43] Col Ama Col Ama Col Ama Col Ama Col Ama Col Ama
## [49] Col Ama Col Ama Col Ama Col Ama Col Ama Col Ama
## [55] Col Ama Col Ama Col Ama Col Ama Col Ama Col Ama
## [61] Col Ama Col Ama Col Ama Col Ama Col Ama Col Ama
## [67] Col Ama Col Ama Col Ama Col Ama Col Ama Col Ama
## [73] Col Ama Col Ama Col Ama Col Ama Col Ama Col Ama
## [79] Col Ama Col Ama Col Ama Col Ama Col Ama Col Ama
## [85] Col Ama Col Ama Col Ama Col Ama Col Ama Col Ama
## [91] Col Ama Col Ama Col Ama Col Ama Col Ama Col Ama
## [97] Col Ama Col Ama Col Ama Col Ama Col Ama Col Ama
## [103] Col Ama Col Ama Col Ama Col Ama Col Ama Col Ama
## [109] Col Ama Col Ama Col Ama Col Ama Col Ama Col Ama
## [115] Col Ama Col Ama Col Ama Col Ama Col Ama Col Ama
## [121] Col Ama Col Ama Col Ama Col Ama Col Ama Col Ama
## [127] Col Ama Col Ama Col Ama Col Ama Col Ama Col Ama
## [133] Col Ama Col Ama Col Ama Col FRI Col FRI Col FRI
## [139] Col FRI Col FRI Col FRI Col FRI Col FRI Col FRI
## [145] Col FRI Col FRI Col FRI Col FRI Col FRI Col FRI
## [151] Col FRI Col FRI Col FRI Col FRI Col FRI Col FRI
## [157] Col FRI Col FRI Col FRI Col FRI Col FRI Col FRI
## [163] Col FRI Col FRI Col FRI Col FRI Col FRI Col FRI
## [169] Col FRI Col FRI Col FRI Col FRI Col FRI Col FRI
## [175] Col FRI Col FRI Col FRI Col FRI Col FRI Col FRI
## [181] Col FRI Col FRI Col FRI Col FRI Col FRI Col FRI
## [187] Col FRI Col FRI Col FRI Col FRI Col FRI Col FRI
## [193] Col FRI Col FRI Col FRI Col FRI Col FRI Col FRI
## [199] Col FRI Col FRI Col FRI Col FRI Col FRI Col FRI
## [205] Col FRI Col FRI Col FRI Col FRI Col FRI Col FRI
## [211] Col FRI Col FRI Col FRI Col FRI Col FRI Col FRI
## [217] Col FRI Col FRI Col FRI Col FRI Col FRI Col FRI
## [223] Col FRI Col FRI Col FRI Col FRI Col FRI Col FRI
## [229] Col FRI Col FRI Col FRI Col FRI Col FRI Col FRI
## [235] Col FRI Col FRI Col FRI Col FRI Col FRI Col FRI
## [241] Col FRI Col FRI Col FRI Col FRI Col FRI Col FRI
## [247] Col FRI Col FRI Col FRI Col FRI Col FRI Col FRI
## [253] Col FRI Col FRI Col FRI Col FRI Col FRI Col FRI
## [259] Col FRI Col FRI Col FRI Col FRI Col FRI fca-6
## [265] fca-6 fca-6 fca-6 fca-6 fca-6 fca-6
## [271] fca-6 fca-6 fca-6 fca-6 fca-6 fca-6
## [277] fca-6 fca-6 fca-6 fca-6 fca-6 fca-6
## [283] fca-6 fca-6 fca-6 fca-6 fca-6 fca-6
## [289] fca-6 fca-6 fca-6 fca-6 fca-6 fca-6
## [295] fca-6 fca-6 fca-6 fca-6 fca-6 fca-6
## [301] fca-6 fca-6 fca-6 fca-6 fca-6 fca-6
## [307] fca-6 fca-6 fca-6 fca-6 fca-6 fca-6
## [313] fca-6 fca-6 fca-6 fca-6 fca-6 fca-6
## [319] fca-6 fca-6 fca-6 fca-6 fca-6 fca-6
## [325] fca-6 fca-6 fca-6 flc-3 FRI flc-3 FRI flc-3 FRI
## [331] flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI
## [337] flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI
## [343] flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI
## [349] flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI
## [355] flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI
## [361] flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI
## [367] flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI
## [373] flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI
## [379] flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI
## [385] flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI
## [391] flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI
## [397] flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI
## [403] flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI
## [409] flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI
## [415] flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI
## [421] flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI
## [427] flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI
## [433] flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI
## [439] flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI
## [445] flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI
## [451] flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI
## [457] flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI
## [463] flc-3 FRI flk-1 flk-1 flk-1 flk-1 flk-1
## [469] flk-1 flk-1 flk-1 flk-1 flk-1 flk-1
## [475] flk-1 flk-1 flk-1 flk-1 flk-1 flk-1
## [481] flk-1 flk-1 flk-1 flk-1 flk-1 flk-1
## [487] flk-1 flk-1 flk-1 flk-1 flk-1 flk-1
## [493] flk-1 flk-1 flk-1 flk-1 flk-1 flk-1
## [499] flk-1 flk-1 flk-1 flk-1 flk-1 flk-1
## [505] flk-1 flk-1 flk-1 flk-1 flk-1 flk-1
## [511] flk-1 flk-1 flk-1 flk-1 flk-1 flk-1
## [517] flk-1 flk-1 flk-1 flk-1 flk-1 flk-1
## [523] flk-1 fve-3 fve-3 fve-3 fve-3 fve-3
## [529] fve-3 fve-3 fve-3 fve-3 fve-3 fve-3
## [535] fve-3 fve-3 fve-3 fve-3 fve-3 fve-3
## [541] fve-3 fve-3 fve-3 fve-3 fve-3 fve-3
## [547] fve-3 fve-3 fve-3 fve-3 fve-3 fve-3
## [553] fve-3 fve-3 fve-3 fve-3 fve-3 fve-3
## [559] fve-3 fve-3 fve-3 fve-3 fve-3 fve-3
## [565] fve-3 fve-3 fve-3 fve-3 fve-3 fve-3
## [571] fve-3 fve-3 fve-3 fve-3 fve-3 fve-3
## [577] fve-3 fve-3 fve-3 fve-3 fve-3 fve-3
## [583] fve-3 ld-1 ld-1 ld-1 ld-1 ld-1
## [589] ld-1 ld-1 ld-1 ld-1 ld-1 ld-1
## [595] ld-1 ld-1 ld-1 ld-1 ld-1 ld-1
## [601] ld-1 ld-1 ld-1 ld-1 ld-1 ld-1
## [607] ld-1 ld-1 ld-1 ld-1 ld-1 ld-1
## [613] ld-1 ld-1 ld-1 ld-1 ld-1 ld-1
## [619] ld-1 ld-1 ld-1 ld-1 ld-1 ld-1
## [625] ld-1 ld-1 ld-1 ld-1 ld-1 ld-1
## [631] ld-1 ld-1 ld-1 ld-1 ld-1 ld-1
## [637] ld-1 ld-1 ld-1 ld-1 ld-1 ld-1
## [643] ld-1 Ler-1 Ler-1 Ler-1 Ler-1 Ler-1
## [649] Ler-1 Ler-1 Ler-1 Ler-1 Ler-1 Ler-1
## [655] Ler-1 Ler-1 Ler-1 Ler-1 Ler-1 Ler-1
## [661] Ler-1 Ler-1 Ler-1 Ler-1 Ler-1 Ler-1
## [667] Ler-1 Ler-1 Ler-1 Ler-1 Ler-1 Ler-1
## [673] Ler-1 Ler-1 Ler-1 Ler-1 Ler-1 Ler-1
## [679] Ler-1 Ler-1 Ler-1 Ler-1 Ler-1 Ler-1
## [685] Ler-1 Ler-1 Ler-1 Ler-1 Ler-1 Ler-1
## [691] Ler-1 Ler-1 Ler-1 Ler-1 Ler-1 Ler-1
## [697] Ler-1 Ler-1 Ler-1 Ler-1 Ler-1 Ler-1
## [703] Ler-1 Ler-1 Ler-1 Ler-1 Ler-1 Ler-1
## [709] Ler-1 Ler-1 Ler-1 prmt5 FRI prmt5 FRI prmt5 FRI
## [715] prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI
## [721] prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI
## [727] prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI
## [733] prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI
## [739] prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI
## [745] prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI
## [751] prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI
## [757] prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI
## [763] prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI
## [769] prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI
## [775] prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI
## [781] prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI
## [787] prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI
## [793] prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI
## [799] prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI
## [805] prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI
## [811] prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI
## [817] prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI
## [823] prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI
## [829] prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI
## [835] prmt5 FRI prmt5 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI
## [841] vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI
## [847] vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI
## [853] vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI
## [859] vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI
## [865] vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI
## [871] vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI
## [877] vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI
## [883] vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI
## [889] vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI
## [895] vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI
## [901] vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI
## [907] vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI
## [913] vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI
## [919] vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI
## [925] vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI
## [931] vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI
## [937] vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI
## [943] vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI
## [949] vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI
## [955] vin3-4 FRI vin3-4 FRI vin3-4 FRI
## 10 Levels: Col Ama Col FRI fca-6 flc-3 FRI flk-1 fve-3 ld-1 Ler-1 ... vin3-4 FRI
Nous pouvons voir qu’il y a 10 niveaux, correspondant à chacun des génotypes, et qu’ils sont par ordre alphabétique.
Nous pouvons spécifier l’ordre des niveaux dans la fonction:
factor(expt1$genotype, levels = c("Ler-1", "fca-6", "Col Ama", "flc-3 FRI", "Col FRI", "ld-1", "flk-1",
"fve-3", "prmt5 FRI","vin3-4 FRI"))
## [1] Col Ama Col Ama Col Ama Col Ama Col Ama Col Ama
## [7] Col Ama Col Ama Col Ama Col Ama Col Ama Col Ama
## [13] Col Ama Col Ama Col Ama Col Ama Col Ama Col Ama
## [19] Col Ama Col Ama Col Ama Col Ama Col Ama Col Ama
## [25] Col Ama Col Ama Col Ama Col Ama Col Ama Col Ama
## [31] Col Ama Col Ama Col Ama Col Ama Col Ama Col Ama
## [37] Col Ama Col Ama Col Ama Col Ama Col Ama Col Ama
## [43] Col Ama Col Ama Col Ama Col Ama Col Ama Col Ama
## [49] Col Ama Col Ama Col Ama Col Ama Col Ama Col Ama
## [55] Col Ama Col Ama Col Ama Col Ama Col Ama Col Ama
## [61] Col Ama Col Ama Col Ama Col Ama Col Ama Col Ama
## [67] Col Ama Col Ama Col Ama Col Ama Col Ama Col Ama
## [73] Col Ama Col Ama Col Ama Col Ama Col Ama Col Ama
## [79] Col Ama Col Ama Col Ama Col Ama Col Ama Col Ama
## [85] Col Ama Col Ama Col Ama Col Ama Col Ama Col Ama
## [91] Col Ama Col Ama Col Ama Col Ama Col Ama Col Ama
## [97] Col Ama Col Ama Col Ama Col Ama Col Ama Col Ama
## [103] Col Ama Col Ama Col Ama Col Ama Col Ama Col Ama
## [109] Col Ama Col Ama Col Ama Col Ama Col Ama Col Ama
## [115] Col Ama Col Ama Col Ama Col Ama Col Ama Col Ama
## [121] Col Ama Col Ama Col Ama Col Ama Col Ama Col Ama
## [127] Col Ama Col Ama Col Ama Col Ama Col Ama Col Ama
## [133] Col Ama Col Ama Col Ama Col FRI Col FRI Col FRI
## [139] Col FRI Col FRI Col FRI Col FRI Col FRI Col FRI
## [145] Col FRI Col FRI Col FRI Col FRI Col FRI Col FRI
## [151] Col FRI Col FRI Col FRI Col FRI Col FRI Col FRI
## [157] Col FRI Col FRI Col FRI Col FRI Col FRI Col FRI
## [163] Col FRI Col FRI Col FRI Col FRI Col FRI Col FRI
## [169] Col FRI Col FRI Col FRI Col FRI Col FRI Col FRI
## [175] Col FRI Col FRI Col FRI Col FRI Col FRI Col FRI
## [181] Col FRI Col FRI Col FRI Col FRI Col FRI Col FRI
## [187] Col FRI Col FRI Col FRI Col FRI Col FRI Col FRI
## [193] Col FRI Col FRI Col FRI Col FRI Col FRI Col FRI
## [199] Col FRI Col FRI Col FRI Col FRI Col FRI Col FRI
## [205] Col FRI Col FRI Col FRI Col FRI Col FRI Col FRI
## [211] Col FRI Col FRI Col FRI Col FRI Col FRI Col FRI
## [217] Col FRI Col FRI Col FRI Col FRI Col FRI Col FRI
## [223] Col FRI Col FRI Col FRI Col FRI Col FRI Col FRI
## [229] Col FRI Col FRI Col FRI Col FRI Col FRI Col FRI
## [235] Col FRI Col FRI Col FRI Col FRI Col FRI Col FRI
## [241] Col FRI Col FRI Col FRI Col FRI Col FRI Col FRI
## [247] Col FRI Col FRI Col FRI Col FRI Col FRI Col FRI
## [253] Col FRI Col FRI Col FRI Col FRI Col FRI Col FRI
## [259] Col FRI Col FRI Col FRI Col FRI Col FRI fca-6
## [265] fca-6 fca-6 fca-6 fca-6 fca-6 fca-6
## [271] fca-6 fca-6 fca-6 fca-6 fca-6 fca-6
## [277] fca-6 fca-6 fca-6 fca-6 fca-6 fca-6
## [283] fca-6 fca-6 fca-6 fca-6 fca-6 fca-6
## [289] fca-6 fca-6 fca-6 fca-6 fca-6 fca-6
## [295] fca-6 fca-6 fca-6 fca-6 fca-6 fca-6
## [301] fca-6 fca-6 fca-6 fca-6 fca-6 fca-6
## [307] fca-6 fca-6 fca-6 fca-6 fca-6 fca-6
## [313] fca-6 fca-6 fca-6 fca-6 fca-6 fca-6
## [319] fca-6 fca-6 fca-6 fca-6 fca-6 fca-6
## [325] fca-6 fca-6 fca-6 flc-3 FRI flc-3 FRI flc-3 FRI
## [331] flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI
## [337] flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI
## [343] flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI
## [349] flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI
## [355] flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI
## [361] flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI
## [367] flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI
## [373] flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI
## [379] flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI
## [385] flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI
## [391] flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI
## [397] flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI
## [403] flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI
## [409] flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI
## [415] flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI
## [421] flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI
## [427] flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI
## [433] flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI
## [439] flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI
## [445] flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI
## [451] flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI
## [457] flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI flc-3 FRI
## [463] flc-3 FRI flk-1 flk-1 flk-1 flk-1 flk-1
## [469] flk-1 flk-1 flk-1 flk-1 flk-1 flk-1
## [475] flk-1 flk-1 flk-1 flk-1 flk-1 flk-1
## [481] flk-1 flk-1 flk-1 flk-1 flk-1 flk-1
## [487] flk-1 flk-1 flk-1 flk-1 flk-1 flk-1
## [493] flk-1 flk-1 flk-1 flk-1 flk-1 flk-1
## [499] flk-1 flk-1 flk-1 flk-1 flk-1 flk-1
## [505] flk-1 flk-1 flk-1 flk-1 flk-1 flk-1
## [511] flk-1 flk-1 flk-1 flk-1 flk-1 flk-1
## [517] flk-1 flk-1 flk-1 flk-1 flk-1 flk-1
## [523] flk-1 fve-3 fve-3 fve-3 fve-3 fve-3
## [529] fve-3 fve-3 fve-3 fve-3 fve-3 fve-3
## [535] fve-3 fve-3 fve-3 fve-3 fve-3 fve-3
## [541] fve-3 fve-3 fve-3 fve-3 fve-3 fve-3
## [547] fve-3 fve-3 fve-3 fve-3 fve-3 fve-3
## [553] fve-3 fve-3 fve-3 fve-3 fve-3 fve-3
## [559] fve-3 fve-3 fve-3 fve-3 fve-3 fve-3
## [565] fve-3 fve-3 fve-3 fve-3 fve-3 fve-3
## [571] fve-3 fve-3 fve-3 fve-3 fve-3 fve-3
## [577] fve-3 fve-3 fve-3 fve-3 fve-3 fve-3
## [583] fve-3 ld-1 ld-1 ld-1 ld-1 ld-1
## [589] ld-1 ld-1 ld-1 ld-1 ld-1 ld-1
## [595] ld-1 ld-1 ld-1 ld-1 ld-1 ld-1
## [601] ld-1 ld-1 ld-1 ld-1 ld-1 ld-1
## [607] ld-1 ld-1 ld-1 ld-1 ld-1 ld-1
## [613] ld-1 ld-1 ld-1 ld-1 ld-1 ld-1
## [619] ld-1 ld-1 ld-1 ld-1 ld-1 ld-1
## [625] ld-1 ld-1 ld-1 ld-1 ld-1 ld-1
## [631] ld-1 ld-1 ld-1 ld-1 ld-1 ld-1
## [637] ld-1 ld-1 ld-1 ld-1 ld-1 ld-1
## [643] ld-1 Ler-1 Ler-1 Ler-1 Ler-1 Ler-1
## [649] Ler-1 Ler-1 Ler-1 Ler-1 Ler-1 Ler-1
## [655] Ler-1 Ler-1 Ler-1 Ler-1 Ler-1 Ler-1
## [661] Ler-1 Ler-1 Ler-1 Ler-1 Ler-1 Ler-1
## [667] Ler-1 Ler-1 Ler-1 Ler-1 Ler-1 Ler-1
## [673] Ler-1 Ler-1 Ler-1 Ler-1 Ler-1 Ler-1
## [679] Ler-1 Ler-1 Ler-1 Ler-1 Ler-1 Ler-1
## [685] Ler-1 Ler-1 Ler-1 Ler-1 Ler-1 Ler-1
## [691] Ler-1 Ler-1 Ler-1 Ler-1 Ler-1 Ler-1
## [697] Ler-1 Ler-1 Ler-1 Ler-1 Ler-1 Ler-1
## [703] Ler-1 Ler-1 Ler-1 Ler-1 Ler-1 Ler-1
## [709] Ler-1 Ler-1 Ler-1 prmt5 FRI prmt5 FRI prmt5 FRI
## [715] prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI
## [721] prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI
## [727] prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI
## [733] prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI
## [739] prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI
## [745] prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI
## [751] prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI
## [757] prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI
## [763] prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI
## [769] prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI
## [775] prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI
## [781] prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI
## [787] prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI
## [793] prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI
## [799] prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI
## [805] prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI
## [811] prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI
## [817] prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI
## [823] prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI
## [829] prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI prmt5 FRI
## [835] prmt5 FRI prmt5 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI
## [841] vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI
## [847] vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI
## [853] vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI
## [859] vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI
## [865] vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI
## [871] vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI
## [877] vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI
## [883] vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI
## [889] vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI
## [895] vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI
## [901] vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI
## [907] vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI
## [913] vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI
## [919] vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI
## [925] vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI
## [931] vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI
## [937] vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI
## [943] vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI
## [949] vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI vin3-4 FRI
## [955] vin3-4 FRI vin3-4 FRI vin3-4 FRI
## 10 Levels: Ler-1 fca-6 Col Ama flc-3 FRI Col FRI ld-1 flk-1 fve-3 ... vin3-4 FRI
Maintenant que nous avons converti la variable ne facteur avec l’ordre des niveaux que nous voulons, nous pouvons l’utiliser pour représenter les variables catégoriques avec l’ordre que nous voulons dans un graphique:
mutate(expt1, genotype = factor(genotype, levels = c("Ler-1", "fca-6", "Col Ama", "flc-3 FRI", "Col FRI",
"ld-1", "flk-1", "fve-3", "prmt5 FRI","vin3-4 FRI"))) %>%
filter( temperature==22, day.length==16) %>%
ggplot(aes(x=genotype, y=days.to.bolt, fill=fluctuation)) +
geom_boxplot()
Nous pouvons aussi ordonner les génotypes en fonction de
days.to.bolt
. Pour cela nous utilisons la fonction
fct_reorder()
dans le package forcats
(qui est
inclus dans tidyverse
)
filter(expt1, temperature==22, day.length==16) %>%
mutate( genotype = fct_reorder(genotype, days.to.bolt)) %>%
ggplot(aes(x=genotype, y=days.to.bolt, fill=fluctuation)) +
geom_boxplot()
Exercice 3
Représenter des violin plots de
cauline.leaf.num
pour les génotypes debackground
“Col”, colorés par la température et ce uniquement pour les plantes sans fluctuation de température et qui sont en jours longs (16 h).Ordonnez les génotypes selon ces deux cas (un graphique par cas):
-1 Dans l’ordre suivant: “Col Ama”, “ld-1”, “fve-3”, “flk-1”
-2 Dans l’ordre de la valeur de
cauline.leaf.num
La semaine prochaine nous allons faire un examen blanc, vous demandant d’explorer un jeu de donnée. Il s’agira d’une mise en pratique des fonctions que nous avons vu jusqu’ici.
Afin de vous y préparer, nous vous recommandons de reprendre l’ensemble des cours et de vous exercer à refaire les exercices (sans avoir recours aux solutions si possible).
Lors de l’examen blanc (et de l’examen final) vous aurez accès au cours et à vos scripts. Vous allez être évalué sur votre capacité à utiliser les différentes fonctions et à comprendre leur utilité, et non sur de la connaissance pure.