開始使用免費開始

彙總欄位

你在前一個練習看到的 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

  • 選取 titleduration 欄位。
  • 將結果用管線傳給後續步驟,建立一個新的欄位 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
  ___
編輯並執行程式碼