R Dateien Lesen mit for-Schleife
Ich nur verwenden möchten, verwenden Sie 10 Dateien in R. Für jedes I berechnen möchten, etwas.
Exp. Datei:
stat1_pwg1.aus
stat23_pwg2.aus
..
stat45_pwg10.aus
Ich versuche dieses:
for (i in 1:10){
Data=paste("../XYZ/*_pwg",i,".out",sep="")
line=read.table(Data,head=T)
}
Aber es funktioniert nicht? Alle hinds?
- Ganz ähnlich wie stackoverflow.com/q/5758084/602276 und stackoverflow.com/q/3764292/602276
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich vermute, dein problem kommt von der wildcard
*
. Einen besseren Weg, dies zu tun wäre, um Sie zuerst speichern Sie die Datei-Namen mitdir
, dann finden die, die Sie wollen.Könnte man auch mit einem der
apply
Familie von Funktionen zu beseitigen, die for-Schleife komplett..
in deinem regex.Ein paar Dinge über Ihren code.
paste
ist vektorisiert, so dass Sie können nehmen Sie es aus der Schleife.(Obwohl als Sie in einem moment sehen werden, die Sie nicht wirklich brauchen, zu verwenden
paste
überhaupt.)read.table
nicht akzeptieren, wildcards; es muss eine exakte übereinstimmung mit dem Dateinamen.Anstatt zu versuchen, zu konstruieren, ein Vektor, der die Dateinamen, Sie könnten besser mit
dir
zu finden, die die Dateien in Ihrem Verzeichnis, gefiltert durch ein geeignetes Namensschema.Um die Dateien zu filtern, verwenden Sie einen regulären Ausdruck in das pattern-argument. Sie können konvertieren von Platzhaltern zum regulären Ausdruck mit
glob2rx
.Für eine etwas spezifischere passen, wo der Platzhalter entspricht nur zahlen als alles, was Sie brauchen, um reguläre Ausdrücke verwenden, direkt.