LoslegenKostenlos loslegen

col_types mit Sammlern

Eine andere Möglichkeit, die Typen der importierten Spalten festzulegen, ist die Verwendung von Collectors. Collector-Funktionen können in einem list() an das col_types Argument von read_ Funktionen übergeben werden, um ihnen mitzuteilen, wie sie Werte in einer Spalte interpretieren sollen.

Eine vollständige Liste der Collector-Funktionen findest du in der Dokumentation von collector. Für diese Übung brauchst du zwei Sammelfunktionen:

  • col_integer(): Die Spalte sollte als Ganzzahl interpretiert werden.
  • col_factor(levels, ordered = FALSE): Die Spalte sollte als Faktor mit levels interpretiert werden.

In dieser Übung arbeitest du mit hotdogs.txt (view), einer tabulatorgetrennten Datei ohne Spaltennamen in der ersten Zeile.

Diese Übung ist Teil des Kurses

Einführung in das Importieren von Daten in R

Kurs anzeigen

Anleitung zur Übung

  • hotdogs wird für dich erstellt, ohne dass du die Spaltentypen festlegen musst. Überprüfe die Zusammenfassung mit der Funktion summary().
  • Zwei Sammelfunktionen sind für dich definiert: fac und int. Sieh sie dir an, verstehst du, was sie sammeln?
  • Im zweiten Aufruf von read_tsv() bearbeitest du das Argument col_types: Übergib eine list() mit den Elementen fac, int und int, so dass die erste Spalte als Faktor und die zweite und dritte Spalte als ganze Zahlen importiert werden.
  • Erstelle eine summary() von hotdogs_factor. Vergleiche dies mit der Zusammenfassung von hotdogs.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Import without col_types
hotdogs <- read_tsv("hotdogs.txt", col_names = c("type", "calories", "sodium"))

# Display the summary of hotdogs
___

# The collectors you will need to import the data
fac <- col_factor(levels = c("Beef", "Meat", "Poultry"))
int <- col_integer()

# Edit the col_types argument to import the data correctly: hotdogs_factor
hotdogs_factor <- read_tsv("hotdogs.txt",
                           col_names = c("type", "calories", "sodium"),
                           col_types = NULL)

# Display the summary of hotdogs_factor
___
Code bearbeiten und ausführen