gpt4 book ai didi

r - 如何在 dplyr 的选择辅助函数中使用正则表达式

转载 作者:行者123 更新时间:2023-12-04 12:32:33 27 4
gpt4 key购买 nike

使用 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 helper 函数中使用正则表达式,如果可以,它们的实现。

如果这是不可能的,我将使用替代方法(例如,base 或 data.table)排除答案。对于背景,我的最终目标是使用 summarise_at()函数或等效于对以数字结尾的所有列求和(即正则表达式 [0-9]$ )。

最佳答案

选择帮助函数 matches()可用于匹配正则表达式:

library(dplyr)

out <- select(iris, matches("s$"))

head(out)
#> Species
#> 1 setosa
#> 2 setosa
#> 3 setosa
#> 4 setosa
#> 5 setosa
#> 6 setosa

关于r - 如何在 dplyr 的选择辅助函数中使用正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57604975/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com