Bedingtes rollendes Mittel (gleitender Durchschnitt) auf unregelmäßigen Zeitreihen

8

Ich habe eine Gruppe von Daten im Format:

%Vor%

Jede ID ist ein Patient und jeder Wert ist beispielsweise der Blutdruck für diese Minute. Ich möchte einen gleitenden Durchschnitt für die 60 Minuten vor und 60 Minuten nach jedem Punkt erstellen. Wie Sie jedoch sehen, fehlen Minuten (ich kann also nicht einfach Zeilennummern verwenden), und ich möchte einen Durchschnitt für jede eindeutige ID erstellen (der Durchschnitt für ID xxxx kann also keine Werte enthalten, die der ID yyyy zugeordnet sind). Es hört sich an, als wäre rollablat oder rollingstat vielleicht eine Option, aber es hat wenig Erfolg gehabt, das zusammenzufügen ...

Bitte lassen Sie mich wissen, wenn weitere Klarheit benötigt wird.

    
user3239045 27.01.2014, 03:49
quelle

2 Antworten

11

Sie können die fehlenden Minuten ganz einfach ausfüllen (Wert wird auf NA gesetzt) ​​und dann rollapply

verwenden %Vor%

Alternativ müssen Sie die aufgefüllten Minuten / NA-Werte nicht beibehalten:

Sie können alles auf einmal machen:

%Vor%     
Ricardo Saporta 27.01.2014 04:03
quelle
4

Ein alternativer Ansatz, der tidyr/dplyr anstelle von data.table und RcppRoll anstelle von zoo verwendet:

%Vor%

Daten

%Vor%     
davechilders 10.02.2016 19:13
quelle

Tags und Links