Mother's little helper (2)
一种更通用的列匹配方式是检查列名是否在任意位置包含某个值(而不是以该值开头或结尾)。正如您可能已经猜到的,可以使用名为 contains() 的辅助函数来完成。
更进一步,您可以使用正则表达式来匹配列。正则表达式(简称 "regexes")是一种用于匹配文本的强大语言。若想系统学习正则表达式,建议学习课程 *String Manipulation with stringr in R *。目前,您只需了解三点:
a:字母表示"匹配该字母"。.:点号表示"匹配任意字符,包括字母、数字、标点等"。?:问号表示"前一个字符是可选的"。
您可以使用 matches() 这个 select 辅助函数来找到与特定正则表达式匹配的列。
本练习是课程的一部分
R 中使用 sparklyr 的 Spark 入门
练习说明
已经为您创建了名为 spark_conn 的 Spark 连接。存储在 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
___