Aan de slagGa gratis aan de slag

col_types met collectors

Een andere manier om de types van de geïmporteerde kolommen in te stellen is met collectors. Collector-functies kun je in een list() meegeven aan het argument col_types van read_-functies om aan te geven hoe waarden in een kolom geïnterpreteerd moeten worden.

Voor een volledige lijst met collector-functies kun je de documentatie van collector bekijken. Voor deze oefening heb je twee collector-functies nodig:

  • col_integer(): de kolom moet als integer worden geïnterpreteerd.
  • col_factor(levels, ordered = FALSE): de kolom moet als factor met levels worden geïnterpreteerd.

In deze oefening werk je met hotdogs.txt (view), een tab-gescheiden bestand zonder kolomnamen in de eerste rij.

Deze oefening maakt deel uit van de cursus

Introductie tot het importeren van data in R

Cursus bekijken

Oefeninstructies

  • hotdogs is voor je aangemaakt zonder de kolomtypes in te stellen. Bekijk de samenvatting met de functie summary().
  • Er zijn twee collector-functies voor je gedefinieerd: fac en int. Kijk ernaar; begrijp je wat ze verzamelen?
  • Bewerk in de tweede aanroep van read_tsv() het argument col_types: Geef een list() door met de elementen fac, int en int, zodat de eerste kolom als factor wordt geïmporteerd en de tweede en derde kolom als integers.
  • Maak een summary() van hotdogs_factor. Vergelijk deze met de samenvatting van hotdogs.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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 bewerken en uitvoeren