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 del ejercicio
hotdogsse crea para ti sin establecer los tipos de columna. Inspecciona su resumen utilizando la funciónsummary().- Tienes definidas dos funciones colectoras:
facyint. Échales un vistazo, ¿entiendes lo que recogen? - En la segunda llamada a
read_tsv(), edita el argumentocol_types: Pasa unlist()con los elementosfac,intyint, 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
Prueba este ejercicio y completa el 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
___