始める無料で始める

便利なヘルパー関数(2)

列を選択するさらに汎用的な方法として、列名の中に特定の値が含まれているかどうかを確認する方法があります(値が先頭や末尾にある場合に限りません)。contains() というヘルパー関数を使うことで、これを実現できます。

さらに汎用的な方法として、正規表現を使って列を絞り込むこともできます。正規表現(「regex」と略されることもあります)は、テキストのマッチングに使われる強力な記法です。正規表現について詳しく学びたい方は、String Manipulation with stringr in R コースを受講してください。ここでは、次の3つだけ押さえておきましょう。

  1. a:文字はそのまま「その文字に一致する」という意味です。
  2. .:ドットは「文字、数字、記号など、任意の1文字に一致する」という意味です。
  3. ?:クエスチョンマークは「直前の文字が省略可能である」という意味です。

特定の正規表現に一致する列を選択するには、matches() セレクターヘルパーを使います。

この演習はコースの一部です

sparklyr を使った Spark 入門(R)

コースを見る

演習の手順

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

  • track_metadata_tbl から "ti" を含むすべての列を選択してください。
  • track_metadata_tbl から正規表現 "ti.?t" に一致するすべての列を選択してください。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# track_metadata_tbl has been pre-defined
track_metadata_tbl

track_metadata_tbl %>%
  # Select columns containing ti
  ___

track_metadata_tbl %>%
  # Select columns matching ti.?t
  ___
コードを編集して実行