I prefer to use foverlaps from the foverlaps package for such cases, for example:
library(data.table) dt <- fread("id,fecha,fecha_fin 7510607,2014-02-01 20:09:59.8270000,2014-02-10 09:55:40.9700000 7510607,2014-02-13 20:09:59.8270000,2014-02-27 09:55:40.9700000 7510608,2014-02-13 20:10:01.1870000,2014-02-27 09:55:42.5630000 7557931,2014-02-16 05:32:08.6230000,2014-02-16 14:03:19.4970000") setkey(dt, fecha, fecha_fin) set(dt, j = 1L, value = NULL) dt <- dt[,lapply(.SD, as.POSIXct, tz = "CET"),.SDcols=1:2] dt2 <- data.table(fecha=as.POSIXct(seq(min(as.Date(dt$fecha)), max(as.Date(dt$fecha_fin)), "1 day")))[,fecha_fin:=fecha+60*60*24-1] as.Date(foverlaps(dt2, dt)[is.na(fecha) & is.na(fecha_fin),i.fecha]) # [1] "2014-02-11" "2014-02-12"
lukeA source share