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 mitlevelsinterpretiert 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
Anleitung zur Übung
hotdogswird für dich erstellt, ohne dass du die Spaltentypen festlegen musst. Überprüfe die Zusammenfassung mit der Funktionsummary().- Zwei Sammelfunktionen sind für dich definiert:
facundint. Sieh sie dir an, verstehst du, was sie sammeln? - Im zweiten Aufruf von
read_tsv()bearbeitest du das Argumentcol_types: Übergib einelist()mit den Elementenfac,intundint, so dass die erste Spalte als Faktor und die zweite und dritte Spalte als ganze Zahlen importiert werden. - Erstelle eine
summary()vonhotdogs_factor. Vergleiche dies mit der Zusammenfassung vonhotdogs.
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
___