class: center, middle, inverse, title-slide # Funktionen ### Einführung in die moderne Datenanalyse mit R
The R Bootcamp
### April 2022 --- 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"> Einführung in die moderne Datenanalyse mit R | April 2022 </font> </a> </span> </div> --- # Agenda .pull-left4[ <ul> <li class="m1g"><span>R(Studio)</span></li> <li class="m2g"><span>Assignments<br></span></li> <li class="m3"><span><high>Funktionen</high></span></li> <ul class="level"> <li><span>Alles geschieht durch eine Funktion</span></li> <li><span>Funktionen haben (Default) Argumente</span></li> <li><span>Die Klasse der Argumente ist wichtig</span></li> <li><span>Funktionen "leben" in Paketen</span></li> <li><span>Erhalte Hilfe mit <mono>?</span></li> </ul><br> <li class="m4g"><span>Data 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> ] --- # Funktionen .pull-left4[ <ul> <li class="m1g"><span>R(Studio)</span></li> <li class="m2g"><span>Assignments<br></span></li> <li class="m3"><span>Funktionen</span></li> <ul class="level"> <li><span><high>Alles geschieht durch eine Funktion</high></span></li> <li><span>Funktionen haben (Default) Argumente</span></li> <li><span>Die Klasse der Argumente ist wichtig</span></li> <li><span>Funktionen "leben" in Paketen</span></li> <li><span>Erhalte Hilfe mit <mono>?</span></li> </ul><br> <li class="m4g"><span>Data 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> ] --- # Funktionen .pull-left4[ <ul> <li class="m1g"><span>R(Studio)</span></li> <li class="m2g"><span>Assignments<br></span></li> <li class="m3"><span>Funktionen</span></li> <ul class="level"> <li><span><high>Alles geschieht durch eine Funktion</high></span></li> <li><span>Funktionen haben (Default) Argumente</span></li> <li><span>Die Klasse der Argumente ist wichtig</span></li> <li><span>Funktionen "leben" in Paketen</span></li> <li><span>Erhalte Hilfe mit <mono>?</span></li> </ul><br> <li class="m4g"><span>Data I/O</a></span></li> <li class="m5g"><span>Analyse</span></li> </ul> ] .pull-right5[ ```r # Funktion c() eins_zwei_drei <- c(1, 2, 3) # Funktion `+`() eins_zwei_drei + 100 ``` ``` ## [1] 101 102 103 ``` ```r # Funktion print() eins_zwei_drei ``` ``` ## [1] 1 2 3 ``` ```r # Funktion mean() mean(eins_zwei_drei) ``` ``` ## [1] 2 ``` ] --- # Argumente .pull-left4[ <ul> <li class="m1g"><span>R(Studio)</span></li> <li class="m2g"><span>Assignments<br></span></li> <li class="m3"><span>Funktionen</span></li> <ul class="level"> <li><span>Alles geschieht durch eine Funktion</span></li> <li><span><high>Funktionen haben (Default) Argumente</high></span></li> <li><span>Die Klasse der Argumente ist wichtig</span></li> <li><span>Funktionen "leben" in Paketen</span></li> <li><span>Erhalte Hilfe mit <mono>?</span></li> </ul><br> <li class="m4g"><span>Data I/O</a></span></li> <li class="m5g"><span>Analyse</span></li> </ul> ] .pull-right5[ ```r # Kein Argument mean() ``` ``` ## Error in mean.default(): argument "x" is missing, with no default ``` ```r # Ein (notwendiges) Argument mean(c(1, 2, 3)) ``` ``` ## [1] 2 ``` ```r # Hinzufügen eines fehlenden Werts (NA) mean(c(1, 2, 3, NA)) ``` ``` ## [1] NA ``` ] --- # Argumente .pull-left4[ <ul> <li class="m1g"><span>R(Studio)</span></li> <li class="m2g"><span>Assignments<br></span></li> <li class="m3"><span>Funktionen</span></li> <ul class="level"> <li><span>Alles geschieht durch eine Funktion</span></li> <li><span><high>Funktionen haben (Default) Argumente</high></span></li> <li><span>Die Klasse der Argumente ist wichtig</span></li> <li><span>Funktionen "leben" in Paketen</span></li> <li><span>Erhalte Hilfe mit <mono>?</span></li> </ul><br> <li class="m4g"><span>Data I/O</a></span></li> <li class="m5g"><span>Analyse</span></li> </ul> ] .pull-right5[ ```r # Kein Argument mean() ``` ``` ## Error in mean.default(): argument "x" is missing, with no default ``` ```r # Ein (notwendiges) Argument mean(c(1, 2, 3)) ``` ``` ## [1] 2 ``` ```r # Ändere den Default zur Entfernung des NAs mean(c(1, 2, 3, NA), na.rm = TRUE) ``` ``` ## [1] 2 ``` ] --- # Klassen .pull-left4[ <ul> <li class="m1g"><span>R(Studio)</span></li> <li class="m2g"><span>Assignments<br></span></li> <li class="m3"><span>Funktionen</span></li> <ul class="level"> <li><span>Alles geschieht durch eine Funktion</span></li> <li><span>Funktionen haben (Default) Argumente</span></li> <li><span><high>Die Klasse der Argumente ist wichtig</high></span></li> <li><span>Funktionen "leben" in Paketen</span></li> <li><span>Erhalte Hilfe mit <mono>?</span></li> </ul><br> <li class="m4g"><span>Data 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> ] --- # Klassen .pull-left4[ <ul> <li class="m1g"><span>R(Studio)</span></li> <li class="m2g"><span>Assignments<br></span></li> <li class="m3"><span>Funktionen</span></li> <ul class="level"> <li><span>Alles geschieht durch eine Funktion</span></li> <li><span>Funktionen haben (Default) Argumente</span></li> <li><span><high>Die Klasse der Argumente ist wichtig</high></span></li> <li><span>Funktionen "leben" in Paketen</span></li> <li><span>Erhalte Hilfe mit <mono>?</span></li> </ul><br> <li class="m4g"><span>Data I/O</a></span></li> <li class="m5g"><span>Analyse</span></li> </ul> ] .pull-right5[ ```r # Berechne Mittelwert von c(1, 2, 3) mean(c(1, 2, 3)) ``` ``` ## [1] 2 ``` ```r # Berechne Mittelwert von c("1", "2", "3") mean(c("1", "2", "3")) ``` ``` ## Warning in mean.default(c("1", "2", "3")): argument is not numeric or logical: returning NA ``` ``` ## [1] NA ``` ] --- # Pakete .pull-left4[ <ul> <li class="m1g"><span>R(Studio)</span></li> <li class="m2g"><span>Assignments<br></span></li> <li class="m3"><span>Funktionen</span></li> <ul class="level"> <li><span>Alles geschieht durch eine Funktion</span></li> <li><span>Funktionen haben (Default) Argumente</span></li> <li><span>Die Klasse der Argumente ist wichtig</span></li> <li><span><high>Funktionen "leben" in Paketen</high></span></li> <li><span>Erhalte Hilfe mit <mono>?</span></li> </ul><br> <li class="m4g"><span>Data 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> ] --- # Funktionen .pull-left4[ <ul> <li class="m1g"><span>R(Studio)</span></li> <li class="m2g"><span>Assignments<br></span></li> <li class="m3"><span>Funktionen</span></li> <ul class="level"> <li><span>Alles geschieht durch eine Funktion</span></li> <li><span>Funktionen haben (Default) Argumente</span></li> <li><span>Die Klasse der Argumente ist wichtig</span></li> <li><span><high>Funktionen "leben" in Paketen</high></span></li> <li><span>Erhalte Hilfe mit <mono>?</span></li> </ul><br> <li class="m4g"><span>Data I/O</a></span></li> <li class="m5g"><span>Analyse</span></li> </ul> ] .pull-right5[ <high>Installiere</high> Pakete <high>einmal</high> mit `install.packages()` ```r install.packages("tidyverse") ``` <br2> <high>Lade</high> existierende Pakete <high>jedes mal</high> mit `library()` ```r library(tidyverse) ``` <p align="left"><img src="image/tidyverse_load.png" height="180"></p> ] --- # Funktionen .pull-left4[ <ul> <li class="m1g"><span>R(Studio)</span></li> <li class="m2g"><span>Assignments<br></span></li> <li class="m3"><span>Funktionen</span></li> <ul class="level"> <li><span>Alles geschieht durch eine Funktion</span></li> <li><span>Funktionen haben (Default) Argumente</span></li> <li><span>Die Klasse der Argumente ist wichtig</span></li> <li><span>Funktionen "leben" in Paketen</span></li> <li><span><high>Erhalte Hilfe mit <mono>?</high></span></li> </ul><br> <li class="m4g"><span>Data 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>Interactive</high></h1>