2017-02-28 84 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