彙總欄位
你在前一個練習看到的 mutate() 函式,會把欄位當作輸入,並回傳一個欄位。當你要計算像是平均值、最大值或標準差等彙總統計時,通常會以欄位作為輸入,但只需要回傳單一數值。這時可以使用 summarize() 函式。
a_tibble %>%
summarize(
mean_x = mean(x),
sd_x_times_y = sd(x * y)
)
請注意,dplyr(而 sparklyr 也承襲了這點)的一貫理念是把資料保留在 tibble 中。因此這裡的回傳值會是一個只有 1 列的 tibble,且每個計算出的彙總統計各佔一個欄位。
本練習屬於課程
使用 R 的 sparklyr:Spark 入門
練習說明
系統已為你建立一個 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
___