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
<Kurs>Einführung in das Importieren von Daten in R</Kurs>Übungsanweisungen
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 praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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
___