НачатьНачать бесплатно

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
___
Редактировать и запускать код