-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy path99_glossar.Rmd
248 lines (146 loc) · 11.8 KB
/
99_glossar.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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
## **Glossar**
[![License: CC BY 4.0](https://img.shields.io/badge/License-CC%20BY%204.0-lightgrey.svg)](https://creativecommons.org/licenses/by/4.0/deed.de)
*"Glossar" von Nina Hauser in "R Lernen - der Datenkurs von und für die Zivilgesellschaft" von CorrelAid e.V. Lizensiert unter [Creative Commons Attribution 4.0 International](https://creativecommons.org/licenses/by/4.0/deed.de).*
``` {r settings_glossar, echo=FALSE, include=FALSE}
```
Da man in dem **Fachwortdschungel der Datenwissenschaft** gerne mal verloren gehen kann, pflegen wir hier für Euch ein Glossar, das unsere Tutor:innen nach und nach für Euch mit wichtigen Begrifflichkeiten füllen werden. <br>
Zusätzlich erstellen wir für Euch an dieser Stelle eine Übersicht zu den wichtigsten Syntaxregeln und Funktionen.
Zum Begriffsdschungel gab es bei uns übrigens schon einmal ein Open Online Data Meetup (OODM) - zur Aufzeichnung geht es [hier](https://www.youtube.com/watch?v=HhH6nOQmqa0){target="_blank"}.
### Technische Fachbegriffe
**Absolute Häufigkeit** = Anzahl der Ausprägungen
**API (Application Programming Interface, dt. Schnittstelle zur Programmierung von Anwendungen)** = Schnittstelle, die ein System bereitstellt, um anderen Programmen die Interaktion zu ermöglichen
**Ausreißer** = Beobachtung, die von anderen Beobachtungen auffällig abweicht
**Dashboard** (zu dt. Instrumententafel) = Zusammenstellung von (zumeist) explorativen Datenanalyseelementen wie Visualisierungen und statistischen Kennwerten
**Data Engineering** = Erfassen, Übersetzen und Validieren von (unstrukturierten) Daten als Grundlage für die Analyse
**Dataframe** (zu dt. Datenrahmen) = tabellarisches Objekt, in dem Daten gespeichert werden
**Data Science** = Analyse, Test und Aufbereitung (strukturierter) Daten
**Daten** = formalisierte, idealerweise durch Binärcodierung maschinell lesbare Informationen
**Datenwissenschaft** = Werkzeug zur Verarbeitung von Daten, Denkweise ("Wie gehen wir an Herausforderungen heran?") und Kompetenzbereich ("Welche analytischen, technischen und fachlichen Fähigkeiten sind notwendig?")
**Dimension eines Datensatzes** = Anzahl an Beobachtungen (Zeilen) und Anzahl an Variablen (Spalten)
**Dokumentation (von Code)** = Abrufbare Informationen zu Packages, Funktionen und Argumenten
**DSGVO** = verfassungsrechtlich verankertes Grundrecht, das personenbezogene Daten vor Missbrauch schützt (Art. 1 Abs. 1 und Art. 2 Abs. 1 GG, Art. 1 - 4 ff. DSGVO)
**Environment (RStudio)** = Ort der IDE RStudio, in dem Objekte gespeichert werden
**Explorative Datenanalyse** = Teilgebiet der Statistik, um einen Datensatz z.B. mit Visualisierungen zu untersuchen und kennenzulernen
**Framework** = Grundgerüst zur Programmierung von Applikationen
**Git** = Kollaborationstool für Informatiker:innen, über das wir Code und Daten austauschen
**Granularität** = Konzept der Datenwissenschaft, nach dem Daten idealerweise pro individuellem Subjekt vorliegen (in unserem R Lernen Kurs also pro Teilnehmer:in) und nicht aggregiert (also z.B. als aggregierte Anzahl von Teilnehmer:innen pro Live Session)
**Image Recognition** (zu dt. Bilderkennung) = Automatisierte Verarbeitung und Interpretation von Bilddateien
**Interquartilsabstand**: Im Interquartilsabstand (kurz IQR), der zwischen dem 25%- und 75%-Quantil verortet ist, liegen 50% aller Messwerte
**Integrierte Entwicklungsumgebung** (kurz: IDE) = Umgebung für das Schreiben und die Interpretation von Code
**JSON** = textbasiertes, strukturiertes Dateiformat
**Künstliche Intelligenz** = Wenn Maschinen eine Aufgabe auf Basis von bestimmten Regeln (Algorithmen) bzw. auf Basis von Informationen erledigen, wird dieses intelligente Verhalten als Künstliche Intelligenz bezeichnet. Unterfälle von Künstlicher Intelligenz sind *regelbasierte Systeme* und *maschinelles Lernen*.
**Loop (zu dt. Schleife)** = Iteration über Instanzen zur wiederholten Ausführung einer Tätigkeit. Es gibt *For Loops* (zu dt. Für-Schleife) für eine bekannte Menge an Instanzen und *While Loops* (zu dt. Solange-Schleifen), die eine Aktion ausführen, bis eine Bedingung erreicht wurde.
**Maschinelles Lernen** = Als Machine Learning werden solche Regeln bezeichnet, die sich durch mehr Erfahrung bzw. Informationen verbessern.
**Monitoring & Evaluation (M&E)** = Anwendungsgebiet der Datenwissenschaft im Dritten Sektor, das sich fortlaufend mit dem Projektfortschritt auseinandersetzt (Monitoring) und die Wirkung von Interventionen in Programmen und Projekten evaluiert (Evaluation)
**Median** = robuster "Mittelpunkt" mehrerer Zahlen (50% der Ausprägungen sind kleiner oder größer)
**Mittelwert** = Durchschnittswert einer Menge aus mehreren Zahlen
**Modus (auch: Modalwert)** = häufigster Wert in einer Menge an Zahlen
**NA** = fehlender Wert (*not available*)
**Open Source Software** = frei nutzbare, unlizenzierte Software (aber eventuell mit Verpflichtung zur Autor:innenkennung)
**Packages** (zu dt. Pakete) = Bündel an programmierten, wiederverwendbaren Funktionalitäten
**Pivoting** = Umformen eines rechteckigen Datensatzes zwischen long- und wide-Format
**Quantil** = Anteil der Werte, die kleiner oder gleich einem bestimmten Wert sind (z.B. 25%-Quantil: 25% aller beobachteten Werte sind kleiner gleich dieser Wert)
**Regex** (Regular Expressions) = Reguläre Ausdrücke zur Bestimmung von bestimmten Zeichen(folgen)
**Relative Häufigkeit** = Prozentualer Anteil der Ausprägungen in einer Gruppe
**R Markdown** = RStudio-Dateiformat zur Kombination von Code und Text mit Exportfunktionalitäten zu PDF und HTML
**Robustheit** = Insensibilität gegenüber *Ausreißern*
**RProject** = Tool zur Dateibündelung von Codeskripten, Daten uvm. für das vereinfachte Teilen von Programmierprojekten
**Shapefile** = Kartographische Datei, die Koordinaten und Polygone enthält
**Shiny Web App** = *Framework* zur Programmierung von interaktiven *Dashboards* in R
**Slicing** = Zugriff auf bestimmte Daten in einem *Dataframe*
**Software as a Service** (SaaS) = Software wird über eine Cloud zur Vefügung gestellt, d.h. Ihr greift auf das Programm über das Internet zu
**Spannweite** = Differenz zwischen der *minimalen Ausprägung* und der *maximalen Ausprägung* einer Variablen
**SQL** (Structured Query Language, dt. Strukturierte Abfragesprache) = eine Sprache zur Definition, Bearbeitung und Abfrage von Daten aus Datenbanken
**Standardabweichung** = standardisiertes Maß für die Streuung um den Mittelwert in der selben Maßeinheit wie die Variable (auch: mittlere Abweichung), das der Wurzel aus der *Varianz* entspricht
**Statuscode** = Antwort eines Servers auf HTTP-Anfragen (über APIs)
**Stoppwörter** = Wörter, die nicht zur Inhaltsbeschreibung eines Textes beitragen, z.B. "der", "und", "so"
**Subsets** = Teilmenge des Datensatzes
**Regelbasierte Systeme** = Systeme, die Aufgaben auf Basis von bestimmten, manuell festgesetzten Regeln erledigen. Diese Regeln werden häufig von Expert:innen festgesetzt.
**Tidyverse** = Sammlung an Packages zur Datenbereinigung, die aufeinander abgestimmt sind und dabei der selben Logik folgen
**Variable Assignment** (zu dt. Variablenzuweisung) = Benennung von Objekten (in R durch "objektname <- objekt)
**Varianz** = Streuung um den *Mittelwert*
**Work Space** (zu dt. Arbeitsspeicher) = Temporärer Arbeitsspeicher der *IDE* während der Programmierung (nie speichern)
### Wichtiger Syntax in R
**Code Chunk** <br>
*Hinweis: Bei R Markdown - in einem simplen R Skript hingegen nicht nötig, um Code zu schreiben* <br>
\```{r} <br>
Dein Code hier <br>
\``` <br>
**Funktion** <br>
*Hinweis: Funktionen funktionieren auch ohne das package:: davor, aber für Nachvollziehbarkeit und die Verwendung einer Funktion aus einem spezifischen Package ist es sinnvoll, das Package immer anzugeben* <br>
package::funktion(argument1, argument2, ...) <br>
**Konditionale Statements** <br>
if ( test_expression1) { <br>
statement1 <br>
} else if ( test_expression2) { <br>
statement2 <br>
} else if ( test_expression3) { <br>
statement3 <br>
} else { <br>
statement4 <br>
}
**Logische Ausdrücke** <br>
*Hinweis: Der Output von logischen Ausdrücken ergibt "TRUE" (wahr) oder "FALSE" (falsch)* <br>
Variable == "Ausdruck" (ist gleich) <br>
Variable1 < Variable 2 (kleiner als) <br>
Variable1 <= Variable 2 (kleiner gleich) <br>
Variable1 > Variable 2 (größer als) <br>
Variable1 >= Variable 2 (größer gleich) <br>
**Pipe-Operator (zum Zusammenfügen von Operationen** <br>
%>% (im Rahmen des tidyverse) <br>
|> (der generelle Pipeoperator) <br>
**Variablenzuweisung** <br>
objektname <- objekt <br>
**Zugriff auf Daten/Zeilen/Spalten in Dataframes** <br>
*Hinweis: In R fängt man bei 1 an zu zählen - nicht wie in anderen Programmiersprachen bei 0* <br>
dataframe[zeilennummer,spaltennummer] <br>
dataframe[zeilennummer,] <br>
dataframe[,spaltennummer] <br>
dataframe[beginnzeile:endezeile, beginnspalte:endespalte] <br>
**Zugriff auf Variablen (Spalten) über den Namen in Dataframes** <br>
datensatz$variablenname <br>
datensatz['variablenname'] <br>
**Zugriff auf Subsets in Dataframes** <br>
*Hinweis: In R fängt man bei 1 an zu zählen - nicht wie in anderen Programmiersprachen bei 0* <br>
dataframe[beginnzeile:endezeile, beginnspalte:endespalte] <br>
subset(dataframe, ausdruck) <br>
### Wichtige Packages in R
Neben den Grundfunktionen ("baseR") benötigt für Eure Arbeit in R oft weitere Funktionen. Diese findet Ihr in sog. Packages:
`library(dplyr)` - tidyverse-Package zur Datenbereinigung und Berechnung statistischer Kennzahlen <br>
`library(ggplot2)` - tidyverse-Package zur Visualisierung von Daten <br>
`library(here)` - Package zur Vereinfachung der Navigation in Orderstrukturen <br>
`library(httr)` - Package zum Schreiben von eigenen API-Anfragen <br>
`library(readr)` - tidyverse-Package zum Import von Daten <br>
`library(rio)` - Package zum vereinfachten Laden von Daten <br>
`library(tidyverse)` - Packagesammlung für die Datenwissenschaft <br>
### Wichtige Funktionen in R
*Hinweis: Funktionen ohne Package-Angabe sind baseR-Funktionen, die meisten anderen Packages sind aus dem Tidyverse, dazu mehr in der Lektion zur Datentransformation!*
**Anzahl** = `n()`
**Auswahl von Spalten** (Variablen) = `dplyr::select()`
**Auswahl von Zeilen** (Beobachtungen) nach Kriterien = `dplyr::filter()`
**(minimale/maximale) Ausprägung** einer Variablen = `min()`/`max()`
**Berechnung neuer Spalten** (Variablen) auf Basis vorhandener Variablen = `dplyr::mutate()`
**Datenabfrage mit APIs** und Statuscode = `httr::GET()`//`httr::stop_for_status()`
**(Partiellen) Datensatz anzeigen** = `View()`/`head()`/`tail()`
**(tagesaktuelles) Datum** = `Sys.Date()`
**Dimension** = `dim()`
**Einlesen von Dateien** = `rio::import()`, `readr::read_csv()`, `readxl::read_excel()`, `jsonlite::read_json()`, `sf::st_read()`, ...
**Gruppierung von Zeilen** (Beobachtungen) nach Kriterien = `dplyr::group_by()`
**Hilfe** = `help("")`/`?funktion`
**Installation von Packages** = `install.packages("") `
**Joins** (Zusammenfügen von Datensätzen) = `dplyr::full_join()`, `dplyr::inner_join()`, `dplyr::left_join()`, `dplyr::right_join()`
**Laden von Packages** = `library()`
**Mittelwert, Median und Modus** = `mean()`/`median()`/`mode()`
**Pivotierung** (Umformung des Datensatzes) = `tidyr::pivot_wider()`/`tidyr::pivot_longer()`
**Sortierung von Zeilen** nach Kriterien = `dplyr::arrange()`
**Spaltenanzahl** = `ncol()`
**Standardabweichung** = `sd()`
**String-Manipulation** = `stringr::str_replace`/`stringr::str_remove()`
**Subsets** = `subset()`
**Summe** = `sum()`
**Übersicht über Datensatz** = `summary()`/`str()`/`dplyr::glimpse()`
**Variablennamen anzeigen** = `colnames()`
**Varianz** = `var()`
**(Erstellung einer) Visualisierung** = `ggplot2:ggplot(data = , aes(x = , y = ))`, `plot()`
**Zeilenanzahl** = `nrow()`
**Zusammenfassung von Werten** zur Vereinfachung des Informationsgehalts = `dplyr::summarize()`