I zwei Datenrahmen haben, eine, die Messungen und einen Zeitstempel, die andere mit Meßperioden mit einer Start- und Endzeit:Spieldaten, die durch Start- und Endzeiten
txt1 <- " v1 datetime
23 '2016-02-14 12:00:10'
12 '2016-02-14 12:03:10'
21 '2016-02-14 12:50:00'
52 '2016-02-14 13:01:10'
53 '2016-02-14 13:05:50'
23 '2016-02-14 13:09:25'
95 '2016-02-14 13:20:10'
11 '2016-02-14 13:21:00'
64 '2016-02-14 13:25:12'
41 '2016-02-14 13:45:34'
14 '2016-02-14 13:53:08'
"
txt2 <- " mp start end
1 '2016-02-14 12:00:00' '2016-02-14 12:11:00'
2 '2016-02-14 12:58:00' '2016-02-14 13:13:00'
3 '2016-02-14 13:22:00' '2016-02-14 14:00:00'
"
d1 <- read.table(textConnection(txt1), header = TRUE,
colClasses = c("integer", "POSIXct"))
d2 <- read.table(textConnection(txt2), header = TRUE,
colClasses = c("integer", "POSIXct" ,"POSIXct"))
Ich will die korrekte Messung zuzuordnen Zeit jede Messung (Halt unerreichte Zeilen):
" v1 datetime mp
23 '2016-02-14 12:00:10' 1
12 '2016-02-14 12:03:10' 1
21 '2016-02-14 12:50:00' NA
52 '2016-02-14 13:01:10' 2
53 '2016-02-14 13:05:50' 2
23 '2016-02-14 13:09:25' 2
95 '2016-02-14 13:20:10' NA
11 '2016-02-14 13:21:00' NA
64 '2016-02-14 13:25:12' 3
41 '2016-02-14 13:45:34' 3
14 '2016-02-14 13:53:08' 3
"
Mein aktueller Ansatz ist ein verschachteltes for-Schleife zu verwenden, aber ich für eine effizientere Methode suchen.
versuchen [foverlaps] (https://www.rdocumentation.org/packages/data.table/versions/1.10.4/topics/foverlaps)? –
[Datum merging zwischen Bereich und einzelne Daten] (https://stackoverflow.com/questions/38379206/date-merging-between-range-and-single-dates/38380091#38380091) –