Menu
CoddyTech

Ôn tập: quy trình xử lý dữ liệu

Thuộc phần Logic và luồng điều khiển trong hành trình R của Coddy. Bài học 36 trên 64.

challenge icon

Thử thách

Khó

Hoàn thành sales_report(records). Mỗi bản ghi có dạng item:quantity:price. Tạo báo cáo qua ba bước:

  1. Phân tích các bản ghi thành danh sách bằng lapply().
  2. Giữ lại các bản ghi có số lượng lớn hơn 0 bằng Filter().
  3. Tính tổng từng dòng được giữ lại (số lượng nhân với giá) bằng sapply() và tổng cộng bằng Reduce().

Trả về một dòng cho mỗi bản ghi được giữ lại, tea: 8.00, sau đó là Total: cùng tổng cộng và Skipped: cùng số bản ghi có số lượng bằng 0. Hiển thị số tiền với hai chữ số thập phân.

Code được cung cấp sẽ đọc các bản ghi từ một dòng phân tách bằng dấu phẩy và in ra từng dòng được trả về.

Tự làm thử

sales_report <- function(records) {
  # Viết code của bạn tại đây
  character(0)
}

# Đoạn code đầu vào và đầu ra đã được cung cấp: giữ nguyên
input <- suppressWarnings(readLines(file("stdin")))
cat(sales_report(strsplit(input[1], ",")[[1]]), sep = "\n")

Tất cả bài học trong Logic và luồng điều khiển

Tự luyện tập: Trình biên dịch R online