CommencerCommencer gratuitement

col_types avec des collecteurs

Une autre façon de définir les types des colonnes importées consiste à utiliser des collectors. Vous pouvez passer des fonctions de collecteur dans un list() à l’argument col_types des fonctions read_ pour leur indiquer comment interpréter les valeurs d’une colonne.

Pour la liste complète des fonctions de collecteur, consultez la documentation collector. Pour cet exercice, vous aurez besoin de deux fonctions de collecteur :

  • col_integer() : la colonne doit être interprétée comme un entier.
  • col_factor(levels, ordered = FALSE) : la colonne doit être interprétée comme un facteur avec des levels.

Dans cet exercice, vous travaillerez avec hotdogs.txt (view), un fichier délimité par des tabulations sans noms de colonnes sur la première ligne.

Cet exercice fait partie du cours

Introduction à l’importation de données dans R

Afficher le cours

Instructions

  • hotdogs est créé pour vous sans définir les types de colonnes. Inspectez son récapitulatif avec la fonction summary().
  • Deux fonctions de collecteur sont définies pour vous : fac et int. Regardez-les : comprenez-vous ce qu’elles collectent ?
  • Dans le deuxième appel à read_tsv(), modifiez l’argument col_types : passez un list() avec les éléments fac, int et int, afin que la première colonne soit importée comme un facteur, et les deuxième et troisième colonnes comme des entiers.
  • Créez un summary() de hotdogs_factor. Comparez-le avec le récapitulatif de hotdogs.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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
___
Modifier et exécuter le code