col_tipos con colectores
Otra forma de establecer los tipos de las columnas importadas es utilizando colectores. Las funciones colectoras pueden pasarse en un list()
al argumento col_types
de las funciones read_
para indicarles cómo interpretar los valores de una columna.
Para obtener una lista completa de las funciones del colector, puedes echar un vistazo a la documentación de collector
. Para este ejercicio necesitarás dos funciones de colector:
col_integer()
: la columna debe interpretarse como un número entero.col_factor(levels, ordered = FALSE)
: la columna debe interpretarse como un factor conlevels
.
En este ejercicio, trabajarás con hotdogs.txt
(vista), que es un archivo delimitado por tabuladores sin nombres de columnas en la primera fila.
Este ejercicio forma parte del curso
Introducción a la importación de datos en R
Instrucciones de ejercicio
hotdogs
se crea para ti sin establecer los tipos de columna. Inspecciona su resumen utilizando la funciónsummary()
.- Tienes definidas dos funciones colectoras:
fac
yint
. Échales un vistazo, ¿entiendes lo que recogen? - En la segunda llamada a
read_tsv()
, edita el argumentocol_types
: Pasa unlist()
con los elementosfac
,int
yint
, de modo que la primera columna se importe como factor, y la segunda y tercera como enteros. - Crea un
summary()
dehotdogs_factor
. Compáralo con el resumen dehotdogs
.
Ejercicio interactivo práctico
Pruebe este ejercicio completando este código de muestra.
# 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
___