我想得到一个包含特定字符的列表,例如我有这个数据框对象:
dat <- read.table(text = " TargetVar Tar_Var1 Var2 Var3
0 0 0 7
0 0 1 1
0 1 0 3
0 1 1 7
1 0 0 5
1 0 1 1
1 1 0 0
1 1 1 6
0 0 0 8
0 0 1 5
1 1 1 4
0 0 1 2
1 0 0 9
1 1 1 2 ", header = TRUE)
如何获取名称中仅包含“Tar”的列名列表? 在此示例中,结果应为:“TargetVar”“Tar_Var1”。 谢谢
答案 0 :(得分:4)
使用grep
或grepl
,如下所示:
colnames(dat)[grepl("Tar", colnames(dat))]
## > colnames(dat)[grepl("Tar", colnames(dat))]
## [1] "TargetVar" "Tar_Var1"
这有助于了解grepl
的作用:
grepl("Tar", colnames(dat))
## [1] TRUE TRUE FALSE FALSE
请注意,您可以通过设置ignore.case = TRUE
来忽略大小写。