[英]how to select several columns based on grep?
Given a data frame data
给定一个数据框data
data <- data.frame(col1 = 1:5, #
Create example data
famg = letters[1:5],
xxm = letters[5:1],
x2 = 5:1)
data
I want to keep the columns that containe我想保留包含的列
tokeep=c("col","xm","fa")
I used我用了
data[grep(tokeep, names(data))]
please note that tokeep is long than this example so i do not want to just use "col"|"xm"|"fa" but rather tokeep请注意 tokeep 比这个例子长,所以我不想只使用 "col"|"xm"|"fa" 而是使用 tokeep
I guess you can try我想你可以试试
data[grep(paste0(tokeep,collapse = "|"),names(data))]
Does this work:这是否有效:
data[grep(paste(tokeep, collapse = '|'), colnames(data))]
col1 famg xxm
1 1 a e
2 2 b d
3 3 c c
4 4 d b
5 5 e a
alternative way with dplyr
package dplyr
package 的替代方式
data %>% select(contains(tokeep))
col1 xxm famg
1 1 e a
2 2 d b
3 3 c c
4 4 b d
5 5 a e
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.