在R中使用带有两个参数的“contain”函数
我有一个数据集f.ex。像这样:在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 ") 我想使
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的解决方案应该适合您。