我一直在阅读类似的文章我无法使任何解决方案适用于我的案例(可能是因为我是R新手)。将数据框中的日期与其他数据框中的两个日期进行比较
我有一个很长的数据集,有几个参数,其中一个是日期,另一个数据框的日期间隔与特定的值相对应。我试图让重复的例子:
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)
而结果我想是这样的:
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"))
我试着用ifelse:
ifelse(df$date >= df2$start & df$date <= df2$end,df2$factor2,"NA")
但不能做这行得通。
有什么建议吗?
它与原始数据完美配合!谢谢!!! <3 <3 – NeReiS
干杯!乐于帮助 –