col_types cu colectori
O altă modalitate de a seta tipurile coloanelor importate este folosirea colectorilor. Funcțiile de tip colector pot fi transmise într-o list() argumentului col_types al funcțiilor read_, pentru a specifica cum să fie interpretate valorile dintr-o coloană.
Pentru o listă completă a funcțiilor de tip colector, poți consulta documentația collector. În acest exercițiu vei avea nevoie de două astfel de funcții:
col_integer(): coloana va fi interpretată ca număr întreg.col_factor(levels, ordered = FALSE): coloana va fi interpretată ca factor cu nivelurilelevels.
În acest exercițiu, vei lucra cu hotdogs.txt (vizualizează), un fișier delimitat prin tab-uri, fără nume de coloane pe primul rând.
Acest exercițiu face parte din cursul
Introducere în importul datelor în R
Instrucțiuni pentru exercițiu
hotdogseste creat pentru tine fără a seta tipurile coloanelor. Inspectează rezumatul său folosind funcțiasummary().- Două funcții de tip colector sunt deja definite pentru tine:
facșiint. Aruncă o privire asupra lor — înțelegi ce colectează fiecare? - În al doilea apel
read_tsv(), editează argumentulcol_types: transmite olist()cu elementelefac,intșiint, astfel încât prima coloană să fie importată ca factor, iar a doua și a treia coloană ca numere întregi. - Creează un
summary()al luihotdogs_factor. Compară-l cu rezumatul luihotdogs.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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
___