gpt4 book ai didi

r - 使用 dplyr contains() 根据多个字符串选择列

转载 作者:行者123 更新时间:2023-12-03 07:24:58 25 4
gpt4 key购买 nike

我想使用正则表达式根据名称选择多个列。我正在尝试使用 dplyr 包的管道语法来完成此操作。我检查了其他主题,但只找到了有关单个字符串的答案。

带基R:

library(dplyr)    
mtcars[grepl('m|ar', names(mtcars))]
### mpg am gear carb
### Mazda RX4 21.0 1 4 4
### Mazda RX4 Wag 21.0 1 4 4

但是它不适用于选择/包含方式:

mtcars %>% select(contains('m|ar'))
### data frame with 0 columns and 32 rows

出了什么问题?

最佳答案

您可以使用匹配

 mtcars %>%
select(matches('m|ar')) %>%
head(2)
# mpg am gear carb
#Mazda RX4 21 1 4 4
#Mazda RX4 Wag 21 1 4 4

根据?select文档

‘matches(x, ignore.case = TRUE)’: selects all variables whose name matches the regular expression ‘x’

虽然包含使用单个字符串

mtcars %>% 
select(contains('m'))

关于r - 使用 dplyr contains() 根据多个字符串选择列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29018292/

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