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 ilevels.
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
Istruzioni dell'esercizio
hotdogsè stato creato per te senza impostare i tipi di colonna. Ispeziona il suo riepilogo usando la funzionesummary().- Due funzioni collector sono già definite per te:
faceint. Dai un’occhiata: capisci cosa raccolgono? - Nella seconda chiamata a
read_tsv(), modifica l’argomentocol_types: passa unalist()con gli elementifac,inteint, così la prima colonna viene importata come fattore e la seconda e la terza come interi. - Crea un
summary()dihotdogs_factor. Confrontalo con il riepilogo dihotdogs.
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
___