2017-02-28 46 views
0

我想遍历数组并将文件名匹配到特定变量。在循环中匹配文件名

我试图这样做是这样的:

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 "}" 
+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. 周围if圆括号中,else if
  2. grep返回1/0,这是整数,并且grepl返回TRUE/FALSE