【发布时间】:2014-12-02 09:35:13
【问题描述】:
假设我的数据框由 3 列和日期组成:
index <- c("31.10.2012", "16.06.2012")
begin <- c("22.10.2012", "29.05.2012")
end <- c("24.10.2012", "17.06.2012")
index.new <- as.Date(index, format = "%d.%m.%Y")
begin.new <- as.Date(begin, format = "%d.%m.%Y")
end.new <- as.Date(end, format = "%d.%m.%Y")
data.frame(index.new, begin.new, end.new)
我的问题:我想选择(子集)行,其中开始日期和结束日期的间隔在索引日之前的 4 天内。这显然只在第 2 行。
你能帮帮我吗?
【问题讨论】:
-
interval1和interval2是日期之间的两个差异(顺便说一句interval2是负数),一个不能包含另一个...要么你想知道哪个更长,要么你想知道如果 2 个第一个日期在 2 个最后一个日期之间?... -
我想你的意思是
interval2包含interval1?看来您正在寻找interval1 <- seq(dates.new[2], dates.new[1], by = "day"); interval2 <- seq(dates.new[3], dates.new[4], by = "day"); all(interval1 %in% interval2) -
“begin 和 end-date 的间隔在 index-day 之前的 4 天内”很难理解你的意思。在第二行不是 all 间隔是在 4 天内begore
index.new