Menu
Coddy logo textTech

Повторение — конвейер обработки данных

Часть раздела Логика и потоки выполнения путешествия по R на Coddy. Урок 36 из 64.

challenge icon

Задание

Сложно

Завершите sales_report(records). Каждая запись имеет формат item:quantity:price. Постройте отчёт в три этапа:

  1. Разберите записи в список с помощью lapply().
  2. Оставьте записи с количеством больше 0 с помощью Filter().
  3. Вычислите итог для каждой оставленной строки (количество, умноженное на цену) с помощью sapply(), а общий итог — с помощью Reduce().

Верните одну строку для каждой оставленной записи, например tea: 8.00, затем Total: с общим итогом и Skipped: с количеством записей, у которых количество было равно 0. Отображайте денежные значения с двумя знаками после запятой.

Предоставленный код считывает записи в виде строки, разделённой запятыми, и выводит каждую возвращённую строку.

Попробуйте сами

sales_report <- function(records) {
  # Напишите ваш код здесь
  character(0)
}

# Предоставленный код ввода/вывода: оставьте его как есть
input <- suppressWarnings(readLines(file("stdin")))
cat(sales_report(strsplit(input[1], ",")[[1]]), sep = "\n")

Все уроки раздела Логика и потоки выполнения

Потренируйтесь самостоятельно: Онлайн-компилятор R