開始使用免費開始

變更欄位(Mutating columns)

也許會讓你驚訝,不是每個資料集一開始都乾淨無瑕!你常常需要修正數值,或從既有資料衍生出新的欄位。在 dplyr 的術語裡,變更或新增欄位稱為「mutation」,可用 mutate() 來完成。這個函式會接收一個 tibble,以及用來更新欄位的具名引數。每個具名引數的名稱就是要變更或新增的欄位名,而其值則是說明如何更新的運算式。例如,給定一個包含 xy 欄位的 tibble,以下程式碼會更新 x,並建立新欄位 z

a_tibble %>%
  mutate(
    x = x + y,
    z = log(x)  
  )

如果你還沒注意到,基礎 R 的函式無法用在 Spark 的 tibble 上;因此你不能用 within()transform() 來達成這個目的。

本練習屬於課程

使用 R 的 sparklyr:Spark 入門

檢視課程

練習說明

我們已為你建立 spark_conn 這個 Spark 連線。連到 Spark 中曲目後設資料的 tibble 也已預先定義為 track_metadata_tbl

  • 選取 titleduration 欄位。請注意,duration 的單位是秒。
  • 將結果接到 mutate(),建立一個新的欄位 duration_minutes,其內容為曲目的時長(分鐘)。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

# track_metadata_tbl has been pre-defined
track_metadata_tbl

# Manipulate the track metadata
track_metadata_tbl %>%
  # Select columns
  ___ %>%
  # Mutate columns
  ___
編輯並執行程式碼