fortlaufende Berechnungen in xts pro Monat
Ich bin vertraut mit demzoo
Funktionrollapply
Damit können Sie fortlaufende Berechnungen durchführenzoo
oderxts
Objekte und Sie können das Rollinkrement über dieby
Parameter. Ich bin speziell daran interessiert, jeden Monat eine Funktion anzuwenden, aber alle bisherigen täglichen Daten in die Berechnung einzubeziehen. Angenommen, mein Datensatz sieht folgendermaßen aus:
dte, val
1/01/2001, 10
1/02/2001, 11
...
1/31/2001, 2
2/01/2001, 54
2/02/2001, 34
...
2/30/2001, 29
Ich möchte das Ende eines jeden Monats auswählen undapply
eine Funktion, die alle täglichen Daten verwendet. Dies scheint nicht so, als würde es funktionierenrollapply
seit derby
Argument wäre 30 manchmal, 29 andere Monate, etc. Meine aktuelle Idee ist:
f <- function(xts_obj) { coef(lm(a ~ b, data=as.data.frame(xts_obj)))[1] }
month_end <- endpoints(my_xts, on="months", k=1)
rslt <- apply(month_end, 1, function(idx) { my_xts[paste0("/",idx)] })
Sicherlich gibt es einen besseren Weg, dies zu tun, der schneller gehen würde, nein? Zur Verdeutlichung: Ich möchte Überlappungsperioden verwenden, nur das Rollen sollte monatlich erfolgen.