0
Würde mich nicht kümmern, um andere Lösungen zu sehen, aber ich verstehe auch nicht, warum ich unvollständige und falsche Antwort bekomme. (schmieren :: Intervall wird falsch)Joining Daten wo Timepoint ist innerhalb eines Intervalls
Zum Beispiel ist del_time [1,] nicht im Intervall der Zeiten [3,]. Ziel ist es, "status" mit del_time zu verbinden, wobei der Zeitpunkt ein Intervall ist.
Beispieldaten:
library(lubridate)
library(dplyr)
ti <- now()
times <- tibble(time1 = c(ti + 3600, ti + 7200, ti + 10800, ti + 14000),
time2 = time1 + 3599, status = c("One", "Two", "Three", "Four"))
del_time <- tibble(time = times$time1 + 1750)
Code:
FUN1 <- function(x,y){
x <- ymd_hms(x)
which_int <- x %within% interval(start = y[[1]], end = y[[2]])
out <- as.character(y[which_int, 3])
return(out)
}
del_time$status <- apply(del_time[, 1], 1, FUN1, y = times)
del_time
Sie könnten auch einen Blick auf [beetenwen] (https://www.rdocumentation.org/packages/dplyr/versions/0.5.0/topics/between) von 'dplyr' – count
Regular Benutzer von% zwischen% von data.table, wusste nicht dplyr hatte seine Version, danke. – MLEN