r - Compare a Date in a data frame with two dates in other data frame -


i have been reading similar posts can't make of solutions work case (probably because new in r).

i have long dataset several parameters, 1 of date, , data frame date intervals correspond particular value. tried make reproducible example:

df = data.frame(date=c("2017/08/01 19:00:00","2017/08/01 19:10:00","2017/08/01 19:20:00","2017/08/01 19:30:00",                    "2017/08/01 19:40:00","2017/08/01 19:50:00","2017/08/01 20:00:00","2017/08/01 20:10:00"),             factor1=c(10,15,11,13,14,12,16,15))  df2 = data.frame(start=c("2017/08/01 19:00:00","2017/08/01 19:40:00"),              end=c("2017/08/01 19:15:00","2017/08/01 20:05:00"), factor2=c("a","b"))  df$date <- as.posixct(df$date)  df2$start <- as.posixct(df2$start) df2$end  <- as.posixct(df2$end) 

and result want this:

result = data.frame(date=c("2017/08/01 19:00:00","2017/08/01 19:10:00","2017/08/01 19:20:00","2017/08/01 19:30:00",                    "2017/08/01 19:40:00","2017/08/01 19:50:00","2017/08/01 20:00:00","2017/08/01 20:10:00"),             factor1=c(10,15,11,13,14,12,16,15),factor2=c("a","a","na","na","b","b","b","na")) 

i tried ifelse:

ifelse(df$date >= df2$start & df$date <= df2$end,df2$factor2,"na") 

but can't make work.

any advice?

this works on sample data:

result <- df result$factor2 <- na (i in seq_along(df$date)){   p <- ifelse(length(grep("true", (df$date[i] >= df2$start & df$date[i] <= df2$end)))!=0,               grep("true", (df$date[i] >= df2$start & df$date[i] <= df2$end)),               na)   result$factor2[i] <- ifelse(!is.na(p),                           as.character(df2$factor2[p]),                           "na")   } print(result) #                 date factor1 factor2 #1 2017-08-01 19:00:00      10       #2 2017-08-01 19:10:00      15       #3 2017-08-01 19:20:00      11      na #4 2017-08-01 19:30:00      13      na #5 2017-08-01 19:40:00      14       b #6 2017-08-01 19:50:00      12       b #7 2017-08-01 20:00:00      16       b #8 2017-08-01 20:10:00      15      na 

Comments

Popular posts from this blog

Sort a complex associative array in PHP -

vb.net - How to ignore if a cell is empty nothing -

recursion - Can every recursive algorithm be improved with dynamic programming? -