IniziaInizia gratis

col_types con collector

Un altro modo per impostare i tipi delle colonne importate è usare i collector. Le funzioni collector possono essere passate in una list() all’argomento col_types delle funzioni read_ per indicare come interpretare i valori in una colonna.

Per l’elenco completo delle funzioni collector, puoi consultare la documentazione di collector. Per questo esercizio ti serviranno due funzioni collector:

  • col_integer(): la colonna va interpretata come intero.
  • col_factor(levels, ordered = FALSE): la colonna va interpretata come fattore con i levels.

In questo esercizio lavorerai con hotdogs.txt (view), un file delimitato da tabulazioni senza nomi di colonna nella prima riga.

Questo esercizio fa parte del corso

Introduzione all'importazione dei dati in R

Visualizza il corso

Istruzioni dell'esercizio

  • hotdogs è stato creato per te senza impostare i tipi di colonna. Ispeziona il suo riepilogo usando la funzione summary().
  • Due funzioni collector sono già definite per te: fac e int. Dai un’occhiata: capisci cosa raccolgono?
  • Nella seconda chiamata a read_tsv(), modifica l’argomento col_types: passa una list() con gli elementi fac, int e int, così la prima colonna viene importata come fattore e la seconda e la terza come interi.
  • Crea un summary() di hotdogs_factor. Confrontalo con il riepilogo di hotdogs.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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
___
Modifica ed esegui il codice