Menu
Coddy logo textTech

復習 - データパイプライン

CoddyのRジャーニー「ロジックとフロー」セクションの一部。レッスン 36/64。

challenge icon

チャレンジ

難しい

sales_report(records) を完成させてください。各レコードは item:quantity:price の形式です。レポートを次の3段階で作成します:

  1. lapply() を使って、レコードをリストに解析します。
  2. Filter() を使って、数量が 0 より大きいレコードを残します。
  3. 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オンラインコンパイラ