Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
测试列名是否包含R中的字符串_R - Fatal编程技术网

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

测试列名是否包含R中的字符串,r,R,我正在尝试测试我的数据帧中的每个列名是否包含一个特定的字符串(在本例中为“Fld”)。我下面的尝试不是编译,我不确定我的错误在哪里。如果您能提供帮助,我们将不胜感激 varnames <-colnames(data) for (i in 1:len(varnames)){ if grepl("Fld",varnames[i])==TRUE { print varnames[i] } } varnames我们可以使用grep获取具有“Fld”的列名的索引 indx <

我正在尝试测试我的数据帧中的每个列名是否包含一个特定的字符串(在本例中为“Fld”)。我下面的尝试不是编译,我不确定我的错误在哪里。如果您能提供帮助,我们将不胜感激

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

varnames我们可以使用
grep
获取具有“Fld”的列名的索引

indx <- grepl('Fld', colnames(data))

如果您只是想在R中“测试[a]列名是否包含字符串”,我会使用
any()
函数来解释@akrun的好答案:

if(any(grepl("Fld", colnames(data)))){
   print("True")
}
使更简单

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

试试
indx为什么要用
[0]
索引?每次都返回一个空向量。我想你需要
varnames[I]
。另外,它的
打印(varnames[I])
与parens合作。但是,akrun的解决方案优于循环。感谢您的帮助。使用零索引是一个错误!并且同意-akun的解决方案很好!我将此评论作为解决方案发布。
data[grepl('Fld', colnames(data))]