测试列名是否包含R中的字符串

时间:2015-08-06 10:14:51

标签: r

我正在尝试测试我的数据框中的每个列名是否包含特定的字符串(在本例中为“Fld”。我的下面的尝试不是编译,我不知道我哪里出错了。帮助将不胜感激。

varnames <-colnames(data)
for (i in 1:len(varnames)){
  if grepl("Fld",varnames[i])==TRUE {
    print varnames[i]
  }
}

3 个答案:

答案 0 :(得分:6)

我们可以使用grep来获取具有'Fld'

的列名索引
indx <- grepl('Fld', colnames(data))

并使用它来“数据”

的子集
 data[indx]

答案 1 :(得分:0)

如果您只是想在R中“测试[a]列名是否包含字符串”,我可以在@akrun的不错答案周围使用any()函数:

if(any(grepl("Fld", colnames(data)))){
   print("True")
}

答案 2 :(得分:0)

更简单!

data[grepl('Fld', colnames(data))]