col_types med collectors
Ett annat sätt att ange kolumntyper vid import är att använda collectors. Collector-funktioner kan skickas i en list() till argumentet col_types i read_-funktioner för att styra hur värdena i en kolumn tolkas.
En fullständig lista över collector-funktioner finns i dokumentationen för collector. I den här övningen behöver du två collector-funktioner:
col_integer(): kolumnen tolkas som ett heltal.col_factor(levels, ordered = FALSE): kolumnen tolkas som en faktor medlevels.
I den här övningen arbetar du med hotdogs.txt (visa), en tabbavgränsad fil utan kolumnnamn på första raden.
Den här övningen är en del av kursen
Introduktion till dataimport i R
Övningsinstruktioner
hotdogsär redan skapad utan angivna kolumntyper. Inspektera dess sammanfattning med funktionensummary().- Två collector-funktioner är definierade åt dig:
facochint. Ta en titt på dem – förstår du vad de samlar in? - I det andra anropet till
read_tsv(), redigera argumentetcol_types: skicka in enlist()med elementenfac,intochint, så att den första kolumnen importeras som en faktor och den andra och tredje kolumnen som heltal. - Skapa en
summary()avhotdogs_factor. Jämför den med sammanfattningen avhotdogs.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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
___