在循环

时间:2017-02-28 19:20:46

标签: r

我想遍历数组并将文件名与特定变量匹配。

我试图这样做:

file.names = c("common", "08f13", "13f08")
for (f in file.names){
  if grep("common", f) {
    a=f
  } else if grep("08f13", f){
    b=f
  } else
    c=f
}

如果common在文件名中,我想将其分配给变量a,如果08在文件名中,则将其分配给b,依此类推。基于我遇到的错误,我认为我的循环结构有问题,或者我甚至错误地使用grep

我的代码返回此错误:

Error: unexpected '}' in "}"

1 个答案:

答案 0 :(得分:1)

file.names = list.files(path, pattern=".prj")
for (f in file.names){
  if(grepl("common", f))  {
    a=f
  } else if(grepl("08", f)) {
    b=f
  } else {
    c=f
  }
}

错误:

  1. 围绕ifelse if
  2. 的圆括号
  3. grep返回1/0为整数,grepl返回TRUE / FALSE