CommencezCommencez gratuitement

col_types avec des collecteurs

Une autre façon de définir les types des colonnes importées consiste à utiliser des collecteurs. Les fonctions de collecteur peuvent être passées 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 de 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 à tabulations sans noms de colonnes sur la première ligne.

Cette activité fait partie du cours

Introduction à l'importation de données dans R

Voir le cours

Instructions de l’exercice

  • hotdogs est créé pour vous sans définir les types de colonnes. Examinez son sommaire 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 : transmettez un list() avec les éléments fac, int et int, afin que la première colonne soit importée comme facteur, et les deuxième et troisième colonnes comme entiers.
  • Créez un summary() de hotdogs_factor. Comparez-le au sommaire de hotdogs.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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