col_types s kolektory
Další způsob, jak nastavit typy importovaných sloupců, je použití kolektorů. Funkce kolektorů lze předat jako list() do argumentu col_types funkcí read_ a určit tak, jak se mají hodnoty v daném sloupci interpretovat.
Úplný seznam funkcí kolektorů najdeš v dokumentaci collector. Pro toto cvičení budeš potřebovat dvě kolektorové funkce:
col_integer(): sloupec se interpretuje jako celé číslo.col_factor(levels, ordered = FALSE): sloupec se interpretuje jako faktor s hodnotamilevels.
V tomto cvičení budeš pracovat se souborem hotdogs.txt (zobrazit), což je tabulátorem oddělený soubor bez názvů sloupců v prvním řádku.
Toto cvičení je součástí kurzu
Introduction to Importing Data in R
Pokyny k cvičení
- Proměnná
hotdogsje pro tebe připravená bez nastaveného typu sloupců. Zobraz její souhrn pomocí funkcesummary(). - Jsou pro tebe definovány dvě funkce kolektorů:
facaint. Podívej se na ně – víš, co sbírají? - Ve druhém volání
read_tsv()uprav argumentcol_types: předejlist()s prvkyfac,intaint, aby byl první sloupec importován jako faktor a druhý a třetí sloupec jako celá čísla. - Vytvoř
summary()proměnnéhotdogs_factora porovnej ho se souhrnemhotdogs.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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
___