Wie füge ich eine große Liste von xts Objekten über Schleife / Funktion in R zusammen?

8

Ich habe eine Schleife, die ~ 200 individuelle Zeitreihen durch Aufrufe an eine API extrahiert.

Die Schleife gibt die Zeitreihen als xts-Objekte ( library(xts) ) in die globale Umgebung mit dem Suffix ".oc" aus. Also habe ich 200 xts Objekte der Form "ABC.oc", "ABD.oc" usw. Jedes Objekt enthält 1000 Datenzeilen.

Was ich tun möchte, ist eine Schleife zu schreiben (oder eine entsprechende Funktion zu verwenden), die alle "* .oc" -Objekte aufnimmt und sie nach Spalten zusammenführt. IE würde enden mit:

%Vor%

Mit einer kurzen Liste von Zeitreihen würde nur schreiben:

%Vor%

Aber offensichtlich ist das mit 200 einzelnen Objekten nicht praktikabel, also würde ich gerne eine Schleife schreiben, um alle diese Objekte wie "Zusammenfügen" zu zerschlagen.

Einfach genug, um über for i in length(ls(pattern="*.oc")){ auf die Variablen für die Schleife zuzugreifen, kann aber den Rest der Schleife nicht herausfinden. Ich habe versucht, cbind, aber kann nicht scheinen, es richtig zu machen.

Jede Hilfe sehr geschätzt

    
n.e.w 16.06.2011, 23:24
quelle

2 Antworten

13

Dies kann erreicht werden, indem ein Zeichenvektor aller Objekte mit Namen, die auf .oc enden, abgerufen, in eine Liste eingefügt und dann merge über do.call aufgerufen wird.

%Vor%

Die Verwendung dieser Methode wäre einfacher, wenn Sie die xts-Objekte in eine Liste ( objList ) geladen haben, wie Sie sie von der API erhalten haben. Dann würden Sie nur do.call(merge, objList) benötigen.

    
Joshua Ulrich 17.06.2011, 00:29
quelle
2

Eine Schleife wie diese sollte funktionieren. Immer eine gute Idee, es zuerst zu initialisieren.

%Vor%     
wkmor1 16.06.2011 23:45
quelle

Tags und Links