class: center, middle, inverse, title-slide .title[ # Fonctions ] .author[ ### Introduction à l’analyse de données avec R
The R Bootcamp
] .date[ ### Juin 2023 ] --- layout: true <div class="my-footer"> <span style="text-align:center"> <span> <img src="https://raw.githubusercontent.com/therbootcamp/therbootcamp.github.io/master/_sessions/_image/by-sa.png" height=14 style="vertical-align: middle"/> </span> <a href="https://therbootcamp.github.io/"> <span style="padding-left:82px"> <font color="#7E7E7E"> www.therbootcamp.com </font> </span> </a> <a href="https://therbootcamp.github.io/"> <font color="#7E7E7E"> Introduction à l'analyse de données avec R | Juin 2023 </font> </a> </span> </div> --- # Agenda .pull-left4[ <ul> <li class="m1g"><span>R(Studio)</span></li> <li class="m2g"><span>Assignations<br></span></li> <li class="m3"><span><high>Fonctions</high></span></li> <ul class="level"> <li><span>Tout passe par les fonctions</span></li> <li><span>Les fonctions ont des arguments (par défaut)</span></li> <li><span>La classe des arguments est importante</span></li> <li><span>Les fonctions "vivent" dans les "Packages"</span></li> <li><span>Checher de l'aide avec <mono>?</span></li> </ul><br> <li class="m4g"><span>Données I/O</a></span></li> <li class="m5g"><span>Analyse</span></li> </ul> ] .pull-right5[ <p align = "center"> <img src="image/automation.png" ><br> <font style="font-size:10px">from <a href="https://xkcd.com//">xkcd.com</a></font> </p> ] --- # Fonctions .pull-left4[ <ul> <li class="m1g"><span>R(Studio)</span></li> <li class="m2g"><span>Assignations<br></span></li> <li class="m3"><span>Fonctions</span></li> <ul class="level"> <li><span><high>Tout passe par les fonctions</high></span></li> <li><span>Les fonctions ont des arguments (par défaut)</span></li> <li><span>La classe des arguments est importante</span></li> <li><span>Les fonctions "vivent" dans les "Packages"</span></li> <li><span>Checher de l'aide avec <mono>?</span></li> </ul><br> <li class="m4g"><span>Données I/O</a></span></li> <li class="m5g"><span>Analyse</span></li> </ul> ] .pull-right5[ <p align="center"><img src="image/input_output.png" height="400"></p> ] --- # Fonctions .pull-left4[ <ul> <li class="m1g"><span>R(Studio)</span></li> <li class="m2g"><span>Assignations<br></span></li> <li class="m3"><span>Fonctions</span></li> <ul class="level"> <li><span><high>Tout passe par les fonctions</high></span></li> <li><span>Les fonctions ont des arguments (par défaut)</span></li> <li><span>La classe des arguments est importante</span></li> <li><span>Les fonctions "vivent" dans les "Packages"</span></li> <li><span>Checher de l'aide avec <mono>?</span></li> </ul><br> <li class="m4g"><span>Données I/O</a></span></li> <li class="m5g"><span>Analyse</span></li> </ul> ] .pull-right5[ ```r # Fonction c() one_two_three <- c(1, 2, 3) # Fonction `+`() one_two_three + 100 ``` ``` ## [1] 101 102 103 ``` ```r # Fonction print() one_two_three ``` ``` ## [1] 1 2 3 ``` ```r # Fonction mean() mean(one_two_three) ``` ``` ## [1] 2 ``` ] --- # Arguments .pull-left4[ <ul> <li class="m1g"><span>R(Studio)</span></li> <li class="m2g"><span>Assignations<br></span></li> <li class="m3"><span>Fonctions</span></li> <ul class="level"> <li><span>Tout passe par les fonctions</span></li> <li><span><high>Les fonctions ont des arguments (par défaut)</high></span></li> <li><span>La classe des arguments est importante</span></li> <li><span>Les fonctions "vivent" dans les "Packages"</span></li> <li><span>Checher de l'aide avec <mono>?</span></li> </ul><br> <li class="m4g"><span>Données I/O</a></span></li> <li class="m5g"><span>Analyse</span></li> </ul> ] .pull-right5[ ```r # Aucun Argument mean() ``` ``` ## Error in mean.default(): argument "x" is missing, with no default ``` ```r # Un argument (nécessaire) mean(c(1, 2, 3)) ``` ``` ## [1] 2 ``` ```r # Ajouter une valeur manquante (NA dans ce cas) mean(c(1, 2, 3, NA)) ``` ``` ## [1] NA ``` ] --- # Arguments .pull-left4[ <ul> <li class="m1g"><span>R(Studio)</span></li> <li class="m2g"><span>Assignations<br></span></li> <li class="m3"><span>Fonctions</span></li> <ul class="level"> <li><span>Tout passe par les fonctions</span></li> <li><span><high>Les fonctions ont des arguments (par défaut)</high></span></li> <li><span>La classe des arguments est importante</span></li> <li><span>Les fonctions "vivent" dans les "Packages"</span></li> <li><span>Checher de l'aide avec <mono>?</span></li> </ul><br> <li class="m4g"><span>Données I/O</a></span></li> <li class="m5g"><span>Analyse</span></li> </ul> ] .pull-right5[ ```r # Aucun argument mean() ``` ``` ## Error in mean.default(): argument "x" is missing, with no default ``` ```r # Un argument (nécessaire) mean(c(1, 2, 3)) ``` ``` ## [1] 2 ``` ```r # Modifier le comportement par défaut des NAs mean(c(1, 2, 3, NA), na.rm = TRUE) ``` ``` ## [1] 2 ``` ] --- # Classes .pull-left4[ <ul> <li class="m1g"><span>R(Studio)</span></li> <li class="m2g"><span>Assignations<br></span></li> <li class="m3"><span>Fonctions</span></li> <ul class="level"> <li><span>Tout passe par les fonctions</span></li> <li><span>Les fonctions ont des arguments (par défaut)</span></li> <li><span><high>La classe des arguments est importante</high></span></li> <li><span>Les fonctions "vivent" dans les "Packages"</span></li> <li><span>Checher de l'aide avec <mono>?</span></li> </ul><br> <li class="m4g"><span>Données I/O</a></span></li> <li class="m5g"><span>Analyse</span></li> </ul> ] .pull-right5[ <p align = "center"> <img src="image/types.png"><br> </p> ] --- # Classes .pull-left4[ <ul> <li class="m1g"><span>R(Studio)</span></li> <li class="m2g"><span>Assignations<br></span></li> <li class="m3"><span>Fonctions</span></li> <ul class="level"> <li><span>Tout passe par les fonctions</span></li> <li><span>Les fonctions ont des arguments (par défaut)</span></li> <li><span><high>La classe des arguments est importante</high></span></li> <li><span>Les fonctions "vivent" dans les "Packages"</span></li> <li><span>Checher de l'aide avec <mono>?</span></li> </ul><br> <li class="m4g"><span>Données I/O</a></span></li> <li class="m5g"><span>Analyse</span></li> </ul> ] .pull-right5[ ```r # Calculer la moyenne de c(1, 2, 3) mean(c(1, 2, 3)) ``` ``` ## [1] 2 ``` ```r # Calculer la moyenne de c("1", "2", "3") mean(c("1", "2", "3")) ``` ``` ## Warning in mean.default(c("1", "2", "3")): l'argument n'est ni numérique, ni logique : renvoi de NA ``` ``` ## [1] NA ``` ] --- # Packages .pull-left4[ <ul> <li class="m1g"><span>R(Studio)</span></li> <li class="m2g"><span>Assignments<br></span></li> <li class="m3"><span>Fonctions</span></li> <ul class="level"> <li><span>Tout passe par les fonctions</span></li> <li><span>Les fonctions ont des arguments (par défaut)</span></li> <li><span>La classe des arguments est importante</span></li> <li><span><high>Les fonctions "vivent" dans les "Packages"</high></span></li> <li><span>Checher de l'aide avec <mono>?</span></li> </ul><br> <li class="m4g"><span>Données I/O</a></span></li> <li class="m5g"><span>Analyse</span></li> </ul> ] .pull-right5[ <p align="center"><img src="image/pakete.png" height="400"></p> ] --- # Fonctions .pull-left4[ <ul> <li class="m1g"><span>R(Studio)</span></li> <li class="m2g"><span>Assignments<br></span></li> <li class="m3"><span>Fonctions</span></li> <ul class="level"> <li><span>Tout passe par les fonctions</span></li> <li><span>Les fonctions ont des arguments (par défaut)</span></li> <li><span>La classe des arguments est importante</span></li> <li><span><high>Les fonctions "vivent" dans les "Packages"</high></span></li> <li><span>Checher de l'aide avec <mono>?</span></li> </ul><br> <li class="m4g"><span>Données I/O</a></span></li> <li class="m5g"><span>Analyse</span></li> </ul> ] .pull-right5[ <high>Installer les </high>Packages <high>une fois</high> avec `install.packages()` ```r install.packages("tidyverse") ``` <br2> <high>Charger</high> les packages installés <high>à chaque fois </high> avec `library()` ```r library(tidyverse) ``` <p align="left"><img src="image/tidyverse_load.png" height="180"></p> ] --- # Fonctions .pull-left4[ <ul> <li class="m1g"><span>R(Studio)</span></li> <li class="m2g"><span>Assignments<br></span></li> <li class="m3"><span>Fonctions</span></li> <ul class="level"> <li><span>Tout passe par les fonctions</span></li> <li><span>Les fonctions ont des arguments (par défaut)</span></li> <li><span>La classe des arguments est importante</span></li> <li><span>Les fonctions "vivent" dans les "Packages"</span></li> <li><span><high>Checher de l'aide avec <mono>?</high></span></li> </ul><br> <li class="m4g"><span>Données I/O</a></span></li> <li class="m5g"><span>Analyse</span></li> </ul> ] .pull-right5[ ```r ?cor ``` <p align="center"><img src="https://raw.githubusercontent.com/therbootcamp/therbootcamp.github.io/master/_sessions/_image/help_cor.png" width="500"></p> ] --- class: middle, center <h1><high>Exercices</high></h1>