Ô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.
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:
- Phân tích các bản ghi thành danh sách bằng
lapply(). - Giữ lại các bản ghi có số lượng lớn hơn 0 bằng
Filter(). - 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ằngReduce().
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
1Chuỗi chuyên sâu
Chuỗi con với substr()Định dạng với sprintf()Tách và nối chuỗiTìm kiếm trong chuỗiThay thế văn bảnÔn tập: Tạo tên người dùng10Luồng điều khiển nâng cao
Hàm switch()ifelse() dạng vector hóarepeat và breakHàm đệ quyÔn tập: phân loại điểmTự luyện tập: Trình biên dịch R online