Zusammenfassung
Empirische Daten können auf verschiedenen Wegen in R verfügbar gemacht werden. Zunächst ist es möglich, Werte durch Zuweisungen etwa in Vektoren zu speichern und diese dann zu Datensätzen zusammenzufügen.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
Unter MacOS ist file=pipe("pbpaste") zu verwenden.
- 2.
Statt einer Datei akzeptieren die meisten Funktionen für das Argument file allgemein eine connection, bei der es sich etwa auch um die Verbindung zu einem Vektor von Zeichenketten handeln kann, vg ?textConnection.
- 3.
Für den Transfer zwischen vielen hier nicht erwähnten Programmen existieren Zusatzpakete, die sich auf CRAN finden lassen (Abschn. 1.3). Das Programm Stat/Transfer (Circle Systems 2019) ist eine kommerzielle Lösung, um Daten zwischen R, Tabellenkalkulationen, SAS, Stata und einigen anderen Formaten auszutauschen.
- 4.
Sofern dies nicht in den Ländereinstellungen der Windows Systemsteuerung geändert wurde.
- 5.
Für einen detaillierten Vergleich der Arbeit mit R, SAS und SPSS vgl. Muenchen (2011) sowie Kleinman und Horton (2014), die auch den Datenaustausch zwischen diesen Programmen behandeln.
- 6.
Eine Alternative, auch für Dateien aus SAS und Stata, ist das im Basisumfang von R enthaltene Paket foreign. Zudem kann SPSS Textdateien einlesen, wie sie mit erstellt werden.
- 7.
Für eine detaillierte Beschreibung der Verwendung von Datenbanken vgl. Spector (2008). Die Verwendung von Datenbanken in RStudio ist unter https://db.rstudio.com/ dokumentiert.
- 8.
- 9.
Dafür kommt die Technik des non-standard evaluation zum Einsatz, die [Wickham 2019a, Kap. 19, 20] erläutert.
- 10.
Fehlende Werte behandelt subset() als FALSE, sie müssen also nicht extra vom logischen Indexvektor ausgeschlossen werden. Um die Stufen der Faktoren auf die in der Auswahl noch tatsächlich vorhandenen Ausprägungen zu reduzieren, ist zu verwenden (Abschn. 2.6.3).
- 11.
Dagegen ist das Ergebnis von eine Matrix. Dies ist insbesondere wichtig, wenn numerische Daten und Zeichenketten zusammengefügt werden – in einer Matrix würden die numerischen Werte automatisch in Zeichenketten konvertiert.
- 12.
Das Paket naniar (Tierney et al. 2020) hilft dabei, das Ausmaß fehlender Werte und ihr Verteilungsmuster in den Variablen eines Datensatzes durch verschiedene Diagramme zu analysieren.
- 13.
bind_rows() aus dem Paketdplyr kann auch Datensätze miteinander verbinden, die sich bzgl. der Variablen unterscheiden (Abschn. 3.4.7).
- 14.
- 15.
Zur Identifizierung gleicher Variablen werden die Spaltennamen mittels intersect(names(x), names(y)) herangezogen. Bei Gruppierungsfaktoren ist es wichtig, dass sie in beiden Datensätzen dieselben Stufen in derselben Reihenfolge besitzen.
- 16.
Diese Datenstruktur entspricht einer normalisierten Datenbank mit mehreren tables zur Vermeidung von Redundanzen.
- 17.
Details zu verschiedenen join Operationen inkl. anschaulicher Visualisierungen geben [Wickham und Grolemund 2017, Kap. 10]: http://r4ds.had.co.nz/relational-data.html
- 18.
Im Fall zweier Zielgrößen, für die jeweils eine Gruppe von zwei Spalten im Wide-Format vorhanden ist, könnte das Argument also lauten.
- 19.
Die verwandte Funktion vapply() unterscheidet sich nur dadurch, dass sie als letztes Argument zusätzlich den Prototypen eines Rückgabewerts von FUN erwartet, etwa numeric(1). Dies macht vapply() im Kontext selbst geschriebener Funktionen (Abschn. 17.3) weniger fehleranfällig.
- 20.
sapply() ist auch für jene Fälle nützlich, in denen auf jedes Element eines Vektors eine Funktion angewendet werden soll, diese Funktion aber nicht vektorisiert ist – d. h. als Argument nur einen einzelnen Wert, nicht aber Vektoren akzeptiert. In diesem Fall betrachtet sapply() jedes Element des Vektors als eigene Variable, die nur einen Wert beinhaltet.
- 21.
Dies gilt auch für das Paket data.table (Dowle und Srinivasan 2019), das ähnliche Ziele wie dplyr verfolgt, dafür aber eine andere, ebenfalls idiomatische Syntax verwendet. Eine Stärke von data.table ist seine Leistungsfähigkeit beim Umgang mit großen Datenmengen (Abschn. 17.5).
- 22.
- 23.
Mittlerweile wurde eine Reihe von data science Paketen entwickelt, die sich an dplyr orientieren und das Ziel haben, gut miteinander interagieren zu können. Sie firmieren unter dem Begriff tidyverse: https://www.tidyverse.org/.
- 24.
Da auch das Paket MASS eine Funktion select() besitzt, kommt es zu Fehlern, wenn MASS nach dplyr geladen wurde (Abschn. 1.3.2, Fußnote 29). In diesem Fall sollte der Aufruf in der Form dplyr::select() erfolgen.
- 25.
Das zum Standardumfang von R gehörende Paket stats enthält eine Funktion gleichen Namens und erzeugt deshalb immer einen Namenskonflikt. Bei Bedarf ist deshalb der Aufruf mit stats::filter() notwendig. Analog gilt dies für die Funktion lag().
- 26.
Wie in subset() gelten fehlende Werte als FALSE (Abschn. 3.3.2, Fußnote 12).
- 27.
Details erläutert vignette("grouping", package="dplyr").
- 28.
Die Verwendung der Tilde zur Definition einer lambda-Funktion ist spezifisch für dplyr und andere tidyverse Pakete. Sonst markiert sie eine Modellformel (Abschn. 5.2).
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
Copyright information
© 2020 Springer-Verlag GmbH Deutschland, ein Teil von Springer Nature
About this chapter
Cite this chapter
Wollschläger, D. (2020). Daten importieren, exportieren, aufbereiten und aggregieren. In: Grundlagen der Datenanalyse mit R. Statistik und ihre Anwendungen. Springer Spektrum, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-61736-6_3
Download citation
DOI: https://doi.org/10.1007/978-3-662-61736-6_3
Published:
Publisher Name: Springer Spektrum, Berlin, Heidelberg
Print ISBN: 978-3-662-61735-9
Online ISBN: 978-3-662-61736-6
eBook Packages: Life Science and Basic Disciplines (German Language)