现在我使用这行代码:
df <- df1 %>% dplyr:: select(grep("x", names(df1)), grep("y", names(df1)), grep("z", names(df1)))
如果不重复 grep,我无法找到一种方法来做到这一点。最好为 grep 提供一个列表,或者创建一个无需复制和调整 grep 行的和平代码。有更好的方法来过滤包含部分字符串的列名的数据框吗?
您可以在
matches
内使用 select
,其中正则表达式包含由 |
分隔的潜在匹配项。
这意味着您现有的代码应该相当于
df <- df1 %>% select(matches('x|y|z'))