col_types с коллекторами
Ещё один способ задать типы импортируемых столбцов — использовать коллекторы. Функции-коллекторы передаются в виде списка list() в аргумент col_types функций read_, указывая, как интерпретировать значения в каждом столбце.
Полный список функций-коллекторов можно найти в документации к collector. В этом упражнении вам понадобятся две из них:
col_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
___