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