-
Notifications
You must be signed in to change notification settings - Fork 5
/
index.Rmd
106 lines (79 loc) · 7.45 KB
/
index.Rmd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
---
title: "R für Psychos"
author: "Lukas Burk & Tobias Anton"
date: "Stand: `r format(Sys.time(), '%d. %B %Y @ %H:%M Uhr (%Z)', tz = 'Europe/Berlin')`"
lang: de-DE
publisher: r-intro.tadaa-data.de
rights: "Copyright `r format(Sys.Date(), '%Y')`, Lukas Burk & Tobias Anton, CC-BY-NC"
site: bookdown::bookdown_site
documentclass: scrartcl # scrbook
bibliography: [book.bib, packages.bib]
biblio-style: apalike
link-citations: yes
github-repo: 'tadaadata/r-intro-book'
url: 'https\://r-intro.tadaa-data.de/book/'
description: "Eine Einführung in R für Menschen so ganz ohne Vorkenntnisse"
mainfont: "TeX Gyre Pagella"
sansfont: "TeX Gyre Heros"
monofont: "Fira Mono"
monofontoptions:
- Mapping=tex-ansi
- Scale=0.8
mathfont: "Asana Math"
always_allow_html: yes
links-as-notes: no
editor_options:
chunk_output_type: console
---
```{r setup, include=FALSE, cache=FALSE}
source("setup.R")
```
# Vorwort {-}
Das hier wird gerade ^[okay, es wird schon seit ein paar Jahren, aber Zeit ist relativ und so] eine R-Einführung für Psychologiestudierende (und seit 2018 auch für Public HealtherInnen) so mit ganz ohne Vorwissen im Bereich Software oder Programmierung. Dieses Werk ist zum Einen die Grundlage für die R-Intro für Psychologiestudierende in *QM*, und zum Anderen auch das Referenzwerk für das R-Seminar im Rahmen des Statistikmoduls in Public Health ^[zumindest dieses eine Mal in 2018].
Die grobe Idee ist es, eine Einstiegspräsentaion für die Übung zu haben, und zusätzlich eine long-form Intro als Nachschlagwerk und vertiefendes Material (das hier).
Beides sollte ausreichend mit Screenshots/Beispielen ausgefüttert sein um auch die verunsichertesten Neulinge bei der Stange zu halten.
<!--
Das Ganze ist so dermaßen work in progress, dass ich sogar das hier eingebaut habe:
```{r commit-log, cache=FALSE}
get_latest_commit(5)
```
-->
## Über diese Einführung {-}
```{r portraits, fig.cap="Lukas \\& Tobi, weil richtige Portraits zu professionell wären.", echo = FALSE, out.width="70%"}
include_graphics("images/other/tobilukas.png")
```
Tobi und Lukas haben ~~zwei~~ drei Jahre lang die R-Einführung in QM gehalten, anfangs basierend auf den Folien, die Lukas unter Anderem auch als Nachschlagwerk gedacht hatte.
Weil Lukas aber ein gigantischer Nerd mit viel zu viel Spaß an Programmierzeugs ist, und sich sonst niemand für technische Details interessiert, brauchte er für das dritte Jahr die Hilfe von Tobi und einer Hand voll TutorInnen um die Einführung menschenkompatibel zu halten.
Das Resultat ist/wird zum Einen diese Website/Buch/Dings, und zum Anderen die [Einstiegsfolien der Übung](https://r-intro.tadaa-data.de/slides/).
Diese Einführung hier wird deutlich stärker ins Detail gehen, und soll auf kurz oder lang so ziemlich alles abdecken, was ihr in zwei Semestern *Quantitative Methoden* brauchen werdet.
Okay, ihr werdet das Ganze auch in *Methodenlehre* brauchen.
Und in *Differenzielle*.
Und im *Expra*.
Und vermutlich danach auch.
Also, zumindest die Psychos unter euch, bei den Public HealtherInnen sind dinge *anders*, aber *ähnlich*.
Vielleicht.
Wenn ihr mehr (oder so grob dasselbe, aber deutlich mehr und in besser erklärt) wollt, dann empfehle ich herzlichst "[**R for Data Science**](http://r4ds.had.co.nz/)", ein kostenloses Buch von Hadley Wickham, einem der R-Menschen, die uns in den letzten Jahren viele kewle tools beschert haben^[ggplot2, dplyr, tidyr, lubridate, ... – die ganze tidyverse-Sache geht mehr oder weniger auf Hadley zurück].
## Verfügbarkeit {-}
Wenn ihr das hier als Website unter `https://r-intro.tadaa-data.de/book` lest, dann habt ihr schonmal alles richtig gemacht. Zusätzlich gibt es diese Website auch als Ebook (`.epub`, funktioniert auf allen gängigen e-readern, tablets, smartphones und sowieso) unter dem Downloadbutton in der obigen Leiste. Es gibt auch eine PDF-Version, aber die ist ehrlich gesagt eher ein proof-of-concept – so wirklich nützlich ist die nicht wirklich, verglichen mit der Website-Version. Okay, das gilt eigentlich auch für die Ebook-Version.
Die Website (also HTML) ist jednefalls das *primäre* Format dieser Einführung, der einzige Nachteil ist, dass sich die Website schlecht ausdrucken lässt — aber wenn ihr Websites ausdruckt habt ihr sowieso die Kontrolle über euer Leben verloren.
Wenn ihr diese Einführung unbedingt offline verfügbar und portabel haben wollt, bleibt euch die Ebook-/PDF-Version. Und wehe ihr druckt die aus. Wehe.
Anbei: Auf der Web-Version haben wir analytics Zeug eingebunden, was uns sagt, welche Kapitel am häufigsten besucht werden. Die Idee dahinter ist relativ simpel: Wenn ein Kapitel besonders häufig besucht wurde, ist es vermutlich interessant, ergo ist es vermutlich auch sinnvoll, da mehr Aufwand reinzustecken als in andere.
Wenn ihr AdBlock und Kram installiert habt, wäre es entsprechend hilfreich für uns, das auf dieser Seite zu deaktivieren. Werbung haben wir hier eh nicht, und die Tracking-Daten landen auch nur bei uns und nicht bei Google, Facebook oder der Stasi. Nur bei uns. Und wir sind vertrauenswürdig™.
## Zielgruppe {-}
Die primäre Motivation und Zielgruppe für diese Einführung sind die Studierenden der Psychologie an der Universität Bremen, weshalb hier auch möglichst wenig Vorkenntnisse im Bereich der Statistik, Programmierung, statistischen Programmierung oder programmierenden Sta... ähm... ihr versteht schon.
Wir gehen anfangs sehr kleinschrittig vor und versuchen gängige Konzepte wie Datentypen/-klassen, Datenstrukturen, Syntax von Grund auf zu erklären.
Solltet ihr bei Begriffen wie "funktionale Programmiersprache", "generics", "functionals" und "Attribute" ein grobes Bild im Kopf haben, dann empfehle ich euch einen Blick in das weiter oben erwähnte [**R for Data Science**](http://r4ds.had.co.nz/). Also generell würde ich allen interessierten dieses Buch/Seite empfehlen, aber ich vermute, dass es für einen absoluten Sprung ins kalte Wasser R nur dann geeignet ist, wenn man entweder sehr viel Motivation oder ein entsprechendes Vorwissen mitbringt.
## Datensätze {-}
Wir brauchen den ein oder anderen Datensatz für Übungszwecke und zu beispielhaften Veranschaulichung, und da es langweilig wird wenn wir immer wieder auf *NGO* zurückgreifen, haben wir auf [dieser netten Übersichtsseite](https://data.tadaa-data.de) einige Datensätze bereitgestellt, die ihr euch runterladen könnt. Wie ihr die einlest, erfahrt ihr im Kapitel [Datenimport].
Als kleinen Spoiler ist hier der "mach, dass es funktioniert"-Code:
```r
library(readr)
qmsurvey <- read_rds("data/qm_survey_ss2017.rds")
gotdeaths <- read_csv("data/got_deaths.csv", col_types = cols())
participation <- read_rds("data/participation.rds")
gotdeaths_books <- read_csv("data/got_character-deaths.csv", col_types = cols())
```
...unter der Annahme, dass ihr die Datensätze in einem `data` Unterordner eures aktuellen Projekts abgelegt habt.
## Für TutorInnen und Leute mit zu viel Motivation {-}
Wenn ihr noch keine Ahnung habt wie R funktioniert, wie man einen Computer bedient oder was Versionskontrollsysteme sein sollen, dann könnt ihr das hier überspringen. Wenn ihr aber Ergänzungen oder Korrekturen machen wollt, dann ist das auch möglich!
Um an diesem Projekt mitzuarbeiten könnt ihr entweder den *edit* (<i class="fa fa-edit fa-lg"></i>) button auf der Web-Version oben in der Leiste klicken, oder direkt auf das [GitHub repository](https://github.com/tadaadata/r-intro-book) gehen und dort entweder Issues erstellen oder direkt Pull Requests machen.