始める無料で始める

列の要約統計量を計算する

前の演習で使った mutate() 関数は、列を入力として受け取り、列を返します。一方、平均値・最大値・標準偏差などの要約統計量を計算する場合は、列を入力として受け取りながら、結果として単一の値を返したいことがほとんどです。これを実現するのが summarize() 関数です。

a_tibble %>%
  summarize(
    mean_x       = mean(x),
    sd_x_times_y = sd(x * y)
  )

dplyr には「常にデータを tibble として保持する」という設計思想があり、この思想は sparklyr にも受け継がれています。そのため、summarize() の戻り値は1行の tibble となり、計算された要約統計量ごとに1列が作成されます。

この演習はコースの一部です

sparklyr を使った Spark 入門(R)

コースを見る

演習の手順

Spark への接続は spark_conn として作成済みです。また、Spark に格納されたトラックのメタデータに紐付けられた tibble は track_metadata_tbl として定義済みです。

  • title フィールドと duration フィールドを選択します。
  • その結果をパイプで渡し、トラックの再生時間(分単位)を含む新しいフィールド duration_minutes を作成します。
  • その結果を summarize() にパイプで渡し、mean_duration_minutes という名前のフィールドに平均再生時間(分単位)を計算します。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# track_metadata_tbl has been pre-defined
track_metadata_tbl

# Manipulate the track metadata
track_metadata_tbl %>%
  # Select columns
  ___ %>%
  # Mutate columns
  ___ %>%
  # Summarize columns
  ___
コードを編集して実行