【发布时间】:2019-12-27 12:29:40
【问题描述】:
使用 dplyr 使用各种帮助函数(例如 contains())选择列非常简单。在这些函数的帮助文件中,参数被称为“文字字符串”。但是,可以改用正则表达式吗?
以下示例有效:
library(dplyr)
iris %>%
select(contains("Species"))
以下正则表达式示例没有:
# Select all column names that end with lower case "s"
iris %>%
select(contains("s$"))
# Not run
data frame with 0 columns and 150 rows
我想知道是否可以在 dplyr select 辅助函数中使用正则表达式,如果可以,它们的实现。
如果这不可能,我将使用替代方法(例如,base 或 data.table)来回答。作为背景,我的最终目标是使用summarise_at() 函数或等效函数来对所有以数字结尾的列求和(即正则表达式[0-9]$)。
【问题讨论】:
-
使用 stringR 包,它是 TidyVerse 的一部分:stringr.tidyverse.org/articles/regular-expressions.html