1. 学ぶ
  2. /
  3. コース
  4. /
  5. sparklyr を使った Spark 入門(R)

Connected

演習

列の変換(ミューテーション)

データセットが最初から完全に整った状態で手に入ることは、実はほとんどありません。値を修正したり、既存のデータをもとに新しい列を作成したりする作業は、よく発生します。列を変更・追加するこの処理は、dplyr の用語ではミューテーションと呼ばれ、mutate() 関数を使って行います。この関数はティブルと名前付き引数を受け取り、引数名が変更または追加する列名、引数の値がその更新方法を表す式になります。たとえば、列 x と y を持つティブルに対して、次のコードは x を更新し、新しい列 z を作成します。

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

なお、ベース R の関数は Spark のティブルには使えません。そのため、within() や transform() はこの目的には利用できません。

指示

100 XP

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

  • title フィールドと duration フィールドを選択します。なお、duration の単位は秒です。
  • その結果を mutate() にパイプで渡し、トラックの再生時間を分単位で表す新しいフィールド duration_minutes を作成します。