不介意看其他解决方案,但我也不明白为什么我得到不完整和错误的答案。 (润滑::间隔出错)
例如,del_time [1,]不在时间间隔[3,]中。目标是将“status”连接到del_time,其中时间点为间隔。
示例数据:
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)
代码:
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
答案 0 :(得分:0)
解决方案是:
which_int <- x %within% interval(start = ymd_hms(y[[1]]), end = ymd_hms(y[[2]]))
但是,我不介意其他解决方案。