Angenommen ich einen Datenrahmen wie folgt aufweisen,Filter für die Datetimes der Lücke größer oder gleich eine Zahl hat - R
ID date difference
1 5/1/2016 4:46 NA
2 5/1/2016 4:55 9
3 5/1/2016 5:01 6
4 5/1/2016 5:09 8
5 5/1/2016 5:16 7
6 5/1/2016 5:24 8
7 5/1/2016 5:31 7
8 5/1/2016 5:40 9
9 5/1/2016 5:46 6
10 5/1/2016 5:49 3
11 5/1/2016 5:54 5
12 5/1/2016 5:57 3
13 5/1/2016 6:10 13
Hier I nach Einträgen filtern möchten, dass die Zeitdifferenz größer als oder gleich haben zu 9. Ich möchte zwei Einträge filtern, bevor der Wert der Zeitdifferenz 9 und ein Eintrag danach ist. Grundsätzlich möchte ich die Trends analysieren, wenn der Zeitunterschied mehr als 9 Minuten beträgt. Ich möchte also zwei Einträge davor und einen Eintrag danach machen, damit ich für jeden Block von Zeiteinträgen vier Einträge habe, die untersucht werden müssen.
ich in der Lage bin zu filtern direkt mit einem Eintrag,
data %>% filter(difference >= 9)
Aber ich will, bevor es zwei Einträge nehmen und einen Eintrag, nachdem es zu untersuchen. Im Idealfall soll meine Ausgabe wie seine
ID date difference
1 5/1/2016 4:46 NA
2 5/1/2016 4:55 9
3 5/1/2016 5:01 6
6 5/1/2016 5:24 8
7 5/1/2016 5:31 7
8 5/1/2016 5:40 9
9 5/1/2016 5:46 6
11 5/1/2016 5:54 5
12 5/1/2016 5:57 3
13 5/1/2016 6:10 13
Wo immer dann, wenn die Zeitdifferenz größer oder gleich 9, ich zwei, bevor Einträge und einer nach dem Eintrag.
Kann jemand mir eine Idee geben, wie man sich diesem nähert?
Dank
Dank für diese ein. Das funktioniert. Aber wenn ich nach einer Variablen gruppieren möchte und es rekursiv machen möchte, wie kann ich das tun? – haimen
für ex, ich mag nicht die vorherigen Tage wie in früheren Aufzeichnungen holen, so dass ich es Gruppe für Tag, in diesem Fall würde ich nur Einträge in einer bestimmten cay will und ich nicht zu den vorherigen Tag Aufzeichnungen gehen will. Also gruppiere ich es am Tag hier und dann möchte ich das machen. – haimen
In diesem Fall können Sie versuchen, dt [, .SD [Reduce ("|", c (Verschiebung (Differenz> = 9, n = 0: 1, type = "lag"), Verschiebung (Differenz> = 9, n = 1: 2, type = "lead")))], by = Liste (ID)] '. wo 'ID' die Gruppenvariable ist. – Psidom