Skip to main content

Datensätze

  • Chapter
  • First Online:
Grundlagen der Datenanalyse mit R

Part of the book series: Statistik und ihre Anwendungen ((STATIST))

  • 17k Accesses

Zusammenfassung

Vektoren, Matrizen und arrays sind dahingehend eingeschränkt, dass sie gleichzeitig nur Werte desselben Datentyps aufnehmen können. Da in empirischen Erhebungen meist Daten unterschiedlichen Typs – etwa numerische Variablen, Faktoren und Zeichenketten – anfallen, sind sie nicht unmittelbar geeignet, vollständige Datensätze zu speichern. Objekte der Klasse list und data.frame sind in dieser Hinsicht flexibler: Sie erlauben es, gleichzeitig Variablen unterschiedlichen Datentyps und auch unterschiedlicher Klasse als Komponenten zu besitzen.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 44.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Für Hilfe zu diesem Thema vgl. ?Extract.

  2. 2.

    Hervorzuheben sind etwa DAAG (Maindonald & Braun, 2015) und HSAUR3 (Hothorn & Everitt, 2015).

  3. 3.

    Außer bei sehr großen Datensätzen, die sich effizienter als Matrix oder als spezielle Datenstruktur verarbeiten lassen, wie sie das Paket data.table (Dowle, Short, Lianoglou, & Srinivasan, 2015) bereitstellt.

  4. 4.

    Gleiches gilt für Listen – hier werden die Komponenten als separate Vektoren gewertet. Soll dieses Verhalten verhindert werden, um eine Liste als eine einzelne Variable des Datensatzes zu erhalten, muss sie in I() eingeschlossen werden: data.frame(I(〈Liste〉), 〈Objekt2〉, ...).

  5. 5.

    Für die automatisierte Simulation von Datensätzen nach vorgegebenen Kriterien, etwa hinsichtlich der Gruppen-Effekte, vgl. die sim.〈Typ〉() Funktionen des Pakets psych (Revelle, 2016).

  6. 6.

    Das Komma ist von Bedeutung: So würde etwa 〈Datensatz〉[3] wie in Listen nicht einfach die dritte Variable von 〈Datensatz〉 zurückgeben, sondern einen Datensatz, dessen einzige Komponente diese Variable ist.

  7. 7.

    Namen werden als Attribut gespeichert und sind mit attributes(〈Datensatz〉) sichtbar (Abschn. 1.4).

  8. 8.

    Bei sehr großen Datensätzen empfiehlt es sich daher aus Gründen der Speichernutzung, nur eine geeignete Teilmenge von Fällen mit attach() verfügbar zu machen (Abschn. 3.3.3).

  9. 9.

    Das Paket dplyr (Wickham & Francois, 2016a) enthält spezialisierte Funktionen, die diese Arbeitsschritte systematisieren und besonders bequem durchführbar machen.

  10. 10.

    Dagegen ist das Ergebnis von cbind(〈Vektor1〉, 〈Vektor2〉) 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.

  11. 11.

    Das genannte Vorgehen wirft die Frage auf, wie sich allen Elementen einer Variable gleichzeitig der Wert NULL zuweisen lässt, statt die Variable zu löschen. Dies ist durch 〈Datensatz〉$〈Variable〉 <- list(NULL) möglich.

  12. 12.

    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 droplevels(〈Datensatz〉) zu verwenden (Abschn. 2.6.3).

  13. 13.

    bind_rows() aus dem Paket dplyr kann auch Datensätze miteinander verbinden, die sich bzgl. der Variablen unterscheiden. Teilweise nicht vorhandene Beobachtungen für Variablen werden dafür auf NA gesetzt.

  14. 14.

    Dabei zu beachtende Aspekte der Datenqualität bespricht Abschn. 4.2.7 Hinweise für den Fall uneindeutiger IDs geben Abschn. 2.12, Fußnote 48 und Abschn. 4.2.7, Fußnote 14.

  15. 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. 16.

    Diese Datenstruktur entspricht einer normalisierten Datenbank mit mehreren tables zur Vermeidung von Redundanzen.

  17. 17.

    Details zu verschiedenen join Operationen inkl. sehr anschaulicher Visualisierungen geben Wickham und Grolemund (2016, Kap. 10): http://r4ds.had.co.nz/relational-data.html

  18. 18.

    Das tidyr Paket (Wickham, 2016d) stellt weitere spezialisierte Möglichkeiten zur Transformation zwischen beiden Organisationsformen bereit.

  19. 19.

    Im Fall zweier AVn, für die jeweils eine Gruppe von zwei Spalten im Wide-Format vorhanden ist, könnte das Argument also varying=list(c("DV1_t1", "DV1_t2"), c("DV2_t1", "DV2_t2")) lauten.

  20. 20.

    Das Paket dplyr enthält spezialisierte Funktionen, die diese Arbeitsschritte systematisieren und besonders bequem durchführbar machen.

  21. 21.

    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.

Literatur

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer-Verlag GmbH Deutschland

About this chapter

Cite this chapter

Wollschläger, D. (2017). Datensätze. In: Grundlagen der Datenanalyse mit R. Statistik und ihre Anwendungen. Springer Spektrum, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-53670-4_3

Download citation

Publish with us

Policies and ethics