復習 - データパイプライン
CoddyのRジャーニー「ロジックとフロー」セクションの一部。レッスン 36/64。
チャレンジ
難しいsales_report(records) を完成させてください。各レコードは item:quantity:price の形式です。レポートを次の3段階で作成します:
lapply()を使って、レコードをリストに解析します。Filter()を使って、数量が 0 より大きいレコードを残します。sapply()を使って残した各行の合計(数量 × 価格)を計算し、Reduce()を使って総合計を計算します。
残した各レコードについて tea: 8.00 のように1行ずつ返し、続けて総合計を Total: とともに、数量が 0 だったレコード数を Skipped: とともに返します。金額は小数点以下2桁で表示してください。
与えられたコードは、レコードをカンマ区切りの1行として読み込み、返された各行を出力します。
自分で試してみよう
sales_report <- function(records) {
# ここにコードを書いてください
character(0)
}
# 提供された入出力コード:そのままにしておいてください
input <- suppressWarnings(readLines(file("stdin")))
cat(sales_report(strsplit(input[1], ",")[[1]]), sep = "\n")
ロジックとフローのすべてのレッスン
自分で練習してみよう: Rオンラインコンパイラ