在R中使用带有两个参数的“contain”函数

在R中使用带有两个参数的“contain”函数,r,select,dplyr,R,Select,Dplyr,我有一个数据集f.ex。像这样: dat1 <- read.table(header=TRUE, text=" Trust_01_T1 Trust_02_T1 Trust_03_T1 Trust_01_T2 Trust_02_T2 Trust_03_T2 Cont_01_T1 Cont_01_T2 5 1 2 1 5 3 1 1 3 1 3 3 4 2 1 2 2 1 3 1 3 1 2 2 4 2 5 5 3 2 3 3 5 1 4 1 2 2 4 5 ") 我想使

我有一个数据集f.ex。像这样:

dat1 <- read.table(header=TRUE, text="
Trust_01_T1 Trust_02_T1 Trust_03_T1 Trust_01_T2 Trust_02_T2 Trust_03_T2 Cont_01_T1 Cont_01_T2
5 1 2 1 5 3 1 1
3 1 3 3 4 2 1 2
2 1 3 1 3 1 2 2
4 2 5 5 3 2 3 3
5 1 4 1 2 2 4 5
")
我想使用select函数来收集包含Trust和T1的变量

dat1 <- dat1 %>%
mutate(Trust_T1 = select(., contains("Trust")))
有人知道如何使用两个参数吗,信任和T1。如果我使用:

dat1 <- dat1 %>%
mutate(Trust_T1 = select(., contains("Trust"), contains("T1")))
它给出了包含Trust或T1的变量

最好的

一种解决方案可以是:

图书馆弹琴 df%>%selectStart_与'Trust'|包含'u T1' >信任\u 01\u T1信任\u 02\u T1信任\u 03\u T1信任\u 01\u T2信任\u 02\u T2信任\u 03\u T2 > 1 5 1 2 1 5 3 > 2 3 1 3 3 4 2 > 3 2 1 3 1 3 1 > 4 4 2 5 5 3 2 > 5 5 1 4 1 2 2 >Cont_01_T1 > 1 1 > 2 1 > 3 2 > 4 3 > 5 4 资料

一种解决办法可以是:

图书馆弹琴 df%>%selectStart_与'Trust'|包含'u T1' >信任\u 01\u T1信任\u 02\u T1信任\u 03\u T1信任\u 01\u T2信任\u 02\u T2信任\u 03\u T2 > 1 5 1 2 1 5 3 > 2 3 1 3 3 4 2 > 3 2 1 3 1 3 1 > 4 4 2 5 5 3 2 > 5 5 1 4 1 2 2 >Cont_01_T1 > 1 1 > 2 1 > 3 2 > 4 3 > 5 4 资料

如果两者都需要,那么使用正则表达式的匹配项来指定以“^Trust”开头、以“$T1”结尾的列名,假设这些只是模式

library(dplyr)
dat1 %>% 
   select(matches("^Trust_.*T1$"))
用于创建新列的mutate不清楚,因为有多个列与“Trust”后跟“T1”匹配。如果目的是对所选列执行某些操作,可以是跨越或c_跨越,如果我们需要两者,则可以使用与正则表达式的匹配来指定以“^Trust”开头、以“$T1”结尾的列名,假设这些只是模式

library(dplyr)
dat1 %>% 
   select(matches("^Trust_.*T1$"))

用于创建新列的mutate不清楚,因为有多个列与“Trust”后跟“T1”匹配。如果目的是对所选列执行某些操作,可以是跨行操作,也可以是c_跨行操作,但行方向不清楚,请从帖子中说明使用mutate尝试完成的操作?否则@akrun的解决方案应该适合你。你能澄清一下你想用mutate实现什么吗?否则@akrun的解决方案应该适合您。