Ich gebe die folgende Datendatei ein: drei Paare von Datum-Preis-Daten (plus Spaltenindex numb). Das Problem ist, dass jeder Preis verschiedene nationale Feiertage hat, so dass die Preise in Großbritannien und in den USA letztendlich falsch liegen. Gibt es eine schöne Möglichkeit, das Datum in ein xts/zoo-Format zu schieben und mit NA
zu füllen, wo der Preis nicht existiert (mkt ist geschlossen)?Mischdatum Datendatei
ColNumb Date1 UK2Y Date2 US2Y Date3 GBPUSD
1 09/07/2012 0.9330 09/07/2012 0.5210 09/07/2012 1.552554
2 10/07/2012 0.9401 10/07/2012 0.5235 10/07/2012 1.551831
3 11/07/2012 0.9122 11/07/2012 0.5003 11/07/2012 1.550388
4 12/07/2012 0.8732 12/07/2012 0.4805 12/07/2012 1.542972
etc
UK2y <- as.xts(data[1:1033,1:2])
US2y <- as.xts(data[,3:4])
GBPUSD <- data[,5:6]
Ich habe versucht, {A <- strptime(UK2y$Date1, format = "%d/%m/%Y")}
verwenden, aber dies führt zu ungültigen Zoo-Objekt. Ich schließe mit richtig formatierten Daten in ‚A‘ wie POSIX-Klasse auf, die mit Zoo cbind
fehlschlägt („Fehlern in der Struktur“):
UK2y <- cbind(UK2y, A)
Sie sehen dort oben in einem zusätzlichen Problem, dass jedes Paar Spalt unterschiedliche Länge. Eine Art "date match" -Funktion würde mildern oder vielleicht gibt es eine Lösung in zoo/xts?
Die Daten werden von Bloomberg exportiert ist dieses Datumsformat. Diese Lösung funktioniert gut, wenn Datumsangaben korrekt in R angegeben sind, aber derzeit Daten in einer numerischen "1/1/xx" - Reihenfolge sortiert werden. – rrg
Antwort bearbeitet, um Ihr Problem zu umgehen. – bVa