我怎样才能找到包含特定字符的列

时间:2014-05-01 15:05:53

标签: r list dataframe

我想得到一个包含特定字符的列表,例如我有这个数据框对象:

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”。 谢谢

1 个答案:

答案 0 :(得分:4)

使用grepgrepl,如下所示:

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来忽略大小写。