我有两个数据框,一个是采样日期,另一个是 Storm (AR)事件。我需要确定采样日期是否发生在 Storm 的+/- 3天。
我希望最终的结果看起来像这样:
Reprex ~~
样本 Dataframe :
structure(list(Date = structure(c(7319,7378,7439,7500,7531,7562,7592,7623,7653,7684),class =“Date”),NO3 = c(2.37,3.42,3.13,2.24,1.97秒2.22秒58,2.15,2.05,3.09),cumP = c(122.8 104 19.9 204 0 8.8 1343,232.8,168.3,171.3),季节= c(“R”,“R”,“F”,“I”,“H”,“R”,“R”,“R”,“R”,“R”),行。names = c(NA,
10L),class =“data.frame”)
** Storm 事件:**
结构(list(Date = structure(c(7311,7313,7316,7329,7338,7345,7355,7451,7458,7474,7580,7581,7586,7598,7601,7602,7615,7617,7618,7619,7620,7621,7630,7631,7632,7637,7641,7642,7646,7647,7655),class =“Date”)),行。names = c(NA,-31L),class =“data.frame”)
2条答案
按热度按时间li9yvcax1#
在基R中,您可以创建一个从 Storm 日期起+/- 3天的序列,然后使用简单的逻辑检查您的
df$Date
值是否在使用%in%
的 Storm 日期向量中。(Note我将示例数据框命名为
df
,将示例 Storm 日期命名为events
)输出:
fjaof16o2#
这是可行的:
编辑:改变了我的答案。还添加了删除
closest_date
的位