2017-02-28 7 views
0

Ich möchte ein Array durchlaufen und Dateinamen auf bestimmte Variablen übereinstimmen.Passende Dateinamen in Schleife

Ich versuche, so wie dies zu tun:

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 
} 

und wenn common im Dateinamen ist möchte ich es auf die Variable a zuweisen und wenn 08 im Dateinamen ist es b zuweisen und so weiter . Basierend auf den Fehlern, die ich bekomme, denke ich, dass etwas mit der Struktur meiner Schleife nicht stimmt, oder ich verwende sogar grep falsch.

Mein Code gibt diesen Fehler zurück:

Error: unexpected '}' in "}" 
+0

Es sollte der volle Name sein, das war ein Tippfehler –

Antwort

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 
    } 
} 

Fehler:

  1. Runde Klammern um if, else if Blöcke
  2. grep ergibt 1/0, die ganze Zahlen sind und grepl TRUE zurück/FALSCH