ich habe mal wieder ein Problem, bei dem ich eure Hilfe benötige.
Ich habe folgenden (Teil-)Datensatz mit einem Zeitstempelund zwei "Messspalten".
Code: Alles auswählen
dput(Test)
structure(list(Timestamp = c("2022-01-01 00:00:00", "2022-01-01 00:01:00",
"2022-01-01 00:02:00", "2022-01-01 00:03:00", "2022-01-01 00:04:00",
"2022-01-01 00:05:00", "2022-01-01 00:06:00", "2022-01-01 00:07:00",
"2022-01-01 00:08:00", "2022-01-01 00:09:00", "2022-01-01 00:10:00",
"2022-01-01 00:11:00", "2022-01-01 00:12:00", "2022-01-01 00:13:00",
"2022-01-01 00:14:00", "2022-01-01 00:15:00", "2022-01-01 00:16:00",
"2022-01-01 00:17:00", "2022-01-01 00:18:00", "2022-01-01 00:19:00",
"2022-01-01 00:20:00", "2022-01-01 00:21:00", "2022-01-01 00:22:00",
"2022-01-01 00:23:00", "2022-01-01 00:24:00", "2022-01-01 00:25:00",
"2022-01-01 00:26:00", "2022-01-01 00:27:00", "2022-01-01 00:28:00",
"2022-01-01 00:29:00", "2022-01-01 00:30:00", "2022-01-01 00:31:00",
"2022-01-01 00:32:00", "2022-01-01 00:33:00", "2022-01-01 00:34:00"
), Col1 = c(1L, 2L, 1L, 3L, 5L, 7L, 4L, 23L, 6L, 8L, 0L, 0L,
0L, 0L, 0L, 1L, 2L, 6L, 2L, 0L, 1L, 1L, 0L, 1L, 2L, 3L, 4L, 6L,
3L, 2L, 2L, 3L, 5L, 2L, 1L), Col2 = c(0L, 0L, 0L, 0L, 2L, 4L,
6L, 4L, 2L, 1L, 0L, 0L, 0L, 5L, 6L, 2L, 6L, 2L, 6L, 0L, 0L, 0L,
0L, 1L, 2L, 5L, 3L, 6L, 7L, 22L, 3L, 0L, 0L, 0L, 0L)), row.names = c(NA,
-35L), class = "data.frame")
Ich möchte jetzt gerne den zeitlichen Versatz ermitteln. Also wie viele Minuten später hat Col1/Col2 später angefangen aufzuzeichen. Und zwar so lange, bis in beiden Spalten Werte aufgezeichnet sind.
Das kann natürlich vor und auch nach einer "gemeinsamen" Zeit auftreten. Aber auch, dass ohne einer gemeinsamen Zeit was aufgezeichnet wird.
Gibt es eine möglichkeit diesen "zeitlichen Versatz" zu bestimmen und dabei jeweils die Summe von Col1/Col2 zu bestimmen?
Konkret hätte ich gerne eine Ausgabe in einem neuen DF mit den Spalten "Zeitstempel Beginn", "Dauer", "Summe", "Spaltenname", also für Spaltenname Col1 oder Col2. Um zu denfinieren ob der zeitliche Versatz vor oder nach einer gemeinsamen Zeit auftritt könnte man die eine eigene Spalte "Zeitpunkt" mit "davor"/"danach"einfügen. Sollten Werte ohne einem gemeinsamen Zeitraum auftreten, sollen diese auch erfasst werden.
Also herauskommen sollte im besten Fall ein df der folgendermaßen aussieht:
Code: Alles auswählen
dput(Aim_DF)
structure(list(Startzeit = c("2022-01-01 00:00:00", "2022-01-01 00:13:00",
"2022-01-01 00:20:00", "2022-01-01 00:31:00"), Dauer = c(4L,
2L, 2L, 4L), Summe = c(7L, 11L, 2L, 11L), Spalte = c("Col1",
"Col2", "Col1", "Col1"), Zeitpunkt = c("davor", "danach", "Einzel",
"danach")), row.names = c(NA, -4L), class = "data.frame")
Um die Länge der Zeit zu bekommen, braucht man bestimmt
Code: Alles auswählen
rle()
Code: Alles auswählen
colsum()
Über Tipps, Input o.ä. von euch würde ich mich sehr freuen
Liebe Grüße
Isabel