Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 按潮汐状态对日期/时间进行分类_R_Date_Datetime_Time - Fatal编程技术网

R 按潮汐状态对日期/时间进行分类

R 按潮汐状态对日期/时间进行分类,r,date,datetime,time,R,Date,Datetime,Time,我想根据df2中给出的潮汐状态对df1日期/时间进行分类。df2的特点是它给出了潮汐最高峰的准确时间,如高或低 我想更改它,以便它根据高和低潮汐两侧的3小时间隔对潮汐高度进行分类 df1 <- data.frame(date_time = as.POSIXct(c("2015-09-06 09:00:00 BST", "2015-09-06 09:48:00 BST", "2015-09-06 10:37:00 BST", "2015-09-06 12:00:00 BST", "2015

我想根据
df2
中给出的潮汐状态对
df1
日期/时间进行分类。df2的特点是它给出了潮汐最高峰的准确时间,如

我想更改它,以便它根据
潮汐两侧的3小时间隔对潮汐高度进行分类

 df1 <- data.frame(date_time = as.POSIXct(c("2015-09-06 09:00:00 BST", "2015-09-06 09:48:00 BST", "2015-09-06 10:37:00 BST", "2015-09-06 12:00:00 BST", "2015-09-06 12:48:00 BST","2015-09-06 13:35:00 BST")))

> df1
            date_time
1 2015-09-06 09:00:00
2 2015-09-06 09:48:00
3 2015-09-06 10:37:00
4 2015-09-06 12:00:00
5 2015-09-06 12:48:00
6 2015-09-06 13:35:00

df2 <- data.frame(Date_time = as.POSIXct(c("2015-09-06 07:09:00 GMT", "2015-09-06 13:18:00 GMT", "2015-09-06 19:52:00 GMT", "2015-09-07 02:01:00 GMT", "2015-09-07 08:28:00 GMT", "2015-09-07 14:43:00 GMT")), Tide_state = c("LOW",  "HIGH", "LOW",  "HIGH", "LOW",  "HIGH"))

df2
            Date_time Tide_state
1 2015-09-06 07:09:00        LOW
2 2015-09-06 13:18:00       HIGH
3 2015-09-06 19:52:00        LOW
4 2015-09-07 02:01:00       HIGH
5 2015-09-07 08:28:00        LOW
6 2015-09-07 14:43:00       HIGH
结果:

df1
          date_time tides
1 2015-09-06 09:00:00   LOW
2 2015-09-06 09:48:00   LOW
3 2015-09-06 10:37:00   LOW
4 2015-09-06 12:00:00   LOW
5 2015-09-06 12:48:00   LOW
6 2015-09-06 13:35:00  HIGH
预期结果:(根据涨潮和低潮两侧各3小时的潮汐

df1
 date_time tides
    1 2015-09-06 09:00:00   LOW
    2 2015-09-06 09:48:00   LOW
    3 2015-09-06 10:37:00   HIGH
    4 2015-09-06 12:00:00   HIGH
    5 2015-09-06 12:48:00   HIGH
    6 2015-09-06 13:35:00   HIGH

任何帮助都将不胜感激

也许
df2$Tide_state[pmax(findInterval(df1$date_time-3600*3,df2$date_time),findInterval(df1$date_time+3600*3,df2$date_time))
谢谢你的支持-这很有效!但是-当应用到我的主数据时,我发现
错误$
df1
 date_time tides
    1 2015-09-06 09:00:00   LOW
    2 2015-09-06 09:48:00   LOW
    3 2015-09-06 10:37:00   HIGH
    4 2015-09-06 12:00:00   HIGH
    5 2015-09-06 12:48:00   HIGH
    6 2015-09-06 13:35:00   HIGH