Data Science 1 - Programmieren & Visualisieren
Saskia Otto
Universität Hamburg, IMF
Wintersemester 2022/2023
Datenstrukturen in R lassen sich bzgl. ihrer Dimensionalität und der Homogenität bzw. Heterogenität ihrer Datentypen in fünf verschiedene Objekttypen unterscheiden:
Dimensionen | Homogen | Heterogen |
---|---|---|
1D | (Atomarer) Vektor | Liste |
2D | Matrix | ‘Data frame’ (& ‘Tibbles’) |
>2D | ‘Array’ |
list()
erstellt:Quelle: R for Data Science von Wickam & Grolemund, 2017 (lizensiert unter CC-BY-NC-ND 3.0 US).
Eine nützliche Funktion zum Anzeigen der Objektstruktur ist str()
:
Quelle: R for Data Science von Wickam & Grolemund, 2017 (lizensiert unter CC-BY-NC-ND 3.0 US).
Matrizen sind 2-dimensionale Objekte dessen Elemente alle den gleichen Datentyp haben müssen. Sie werden vor allem in der numerischen Modellierung verwendet.
matrix()
erstellt:Arrays sind multi-dimensionale Objekte des gleichen Datentyps. Sie werden in der Datenanalyse in R aber eher selten genutzt und daher hier nicht näher beschrieben.
data.frame()
erstellen, welche Vektoren mit Namen als Input nimmt:as.data.frame()
und wieder zurück mit as.matrix()
(solange der Datentyp gleich ist):length()
in 2- und multi-dimensionalen Objekten lässt sich verallgemeinern zu
names()
zeigt in ‘data frames’ den Spaltennamen an:
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa
[Zeilen, Spalten]
Teile einer Matrix mittels Positionsindexierung auswählen und neu abspeichern:
$
$
ist eine Kurzschreibweise (‘shorthand notation’) zum Extrahieren von benannten Elementen in einer Liste.df[Zeilenabfrage, Spalten]
Wähle alle Spalten, aber nur die Zeilen, wo die Werte in Spalte ‘x_neu’ >= 5 sind.
$
Operator anhängeniris
- ObjekttypSchau Dir folgenden Datensatz an:
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
iris
- ObjektstrukturSchau Dir die Struktur vom iris
Datensatz an:
'data.frame': 150 obs. of 5 variables:
$ Sepal.Length: num 5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
$ Sepal.Width : num 3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
$ Petal.Length: num 1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
$ Petal.Width : num 0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
$ Species : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
Funktion | Statistik |
---|---|
sum() |
Summe |
mean() |
Arithmetischer Mittelwert |
median() |
Median |
min() |
Minimalwert |
max() |
Maximalwert |
range() |
Bereich zwischen Minimum und Maximum |
var() |
Varianz |
sd() |
Standardabweichung |
quantile() |
Quantilen |
cov() |
Kovarianz |
cor() |
(Pearsons) Korrelationskoeffizient |
summary() |
Berechnet unterschiedliche Statistiken |
Es gibt keine built-in Funktion für den Standardfehler und den Variationskoeffizienten sowie die Schiefe und Kurtosis!
summary()
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1 5.1 3.5 1.4 0.2 setosa
2 4.9 3.0 1.4 0.2 setosa
3 4.7 3.2 1.3 0.2 setosa
4 4.6 3.1 1.5 0.2 setosa
5 5.0 3.6 1.4 0.2 setosa
6 5.4 3.9 1.7 0.4 setosa
Sepal.Length Sepal.Width Petal.Length Petal.Width
Min. :4.300 Min. :2.000 Min. :1.000 Min. :0.100
1st Qu.:5.100 1st Qu.:2.800 1st Qu.:1.600 1st Qu.:0.300
Median :5.800 Median :3.000 Median :4.350 Median :1.300
Mean :5.843 Mean :3.057 Mean :3.758 Mean :1.199
3rd Qu.:6.400 3rd Qu.:3.300 3rd Qu.:5.100 3rd Qu.:1.800
Max. :7.900 Max. :4.400 Max. :6.900 Max. :2.500
Species
setosa :50
versicolor:50
virginica :50
\[\begin{align} b&=\frac{\sum x_iy_i}{\sum x_i^2}\\ &= \frac{\sum[(x_i-\bar{x})*(y_i-\bar{y})]}{\sum(x_i-\bar{x})^2} \\ &= \frac{SS_{XY}}{SS_{X}} = \frac{cov_{XY}}{s_{x}^2}\\ \end{align}\]
Damit die nächsten swirl-Lektionen problemlos laufen und als Vorbereitung für die anschließenden swirl-Kurse sollte das tidyverse Paket installiert werden (mehr Informationen zum Paket gibt es in den nächsten Vorlesungen):
… im swirl-Kurs wirst Du direkt an die Hand genommen und Stück für Stück angeleitet.
Siehe auch DSB cheatsheet Basic R functions (auf Moodle).
Siehe auch DSB cheatsheet Basic R functions (auf Moodle).
Dann mach doch einfach die nächsten swirl Lektionen auch schon…
Bei weiteren Fragen: saskia.otto(at)uni-hamburg.de
Diese Arbeit is lizenziert unter einer Creative Commons Attribution-ShareAlike 4.0 International License mit Ausnahme der entliehenen und mit Quellenangabe versehenen Abbildungen.
Kurswebseite: Data Science 1