列の要約統計量を計算する
前の演習で使った 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
___