col_types з колекторами
Інший спосіб задати типи імпортованих стовпців — використати колектори. Функції-колектори можна передати у list() до аргументу col_types функцій read_, щоб вказати, як інтерпретувати значення у стовпці.
Повний перелік функцій-колекторів дивіться в документації до collector. Для цієї вправи вам знадобляться дві функції-колектори:
col_integer(): стовпець слід інтерпретувати як ціле число (integer).col_factor(levels, ordered = FALSE): стовпець слід інтерпретувати як фактор із заданимиlevels.
У цій вправі ви працюватимете з hotdogs.txt (переглянути) — це файл із розділювачем табуляції без назв стовпців у першому рядку.
Ця вправа є частиною курсу
Вступ до імпорту даних у R
Інструкції до вправи
- Об'єкт
hotdogsстворено для вас без задання типів стовпців. Перегляньте його підсумок за допомогою функціїsummary(). - Для вас визначено дві функції-колектори:
facіint. Ознайомтеся з ними: чи розумієте ви, які типи вони збирають? - У другому виклику
read_tsv()відредагуйте аргументcol_types: Передайтеlist()з елементамиfac,intіint, щоб перший стовпець імпортувався як фактор, а другий і третій — як цілі числа. - Створіть
summary()дляhotdogs_factor. Порівняйте його з підсумком дляhotdogs.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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
___