以10分钟的间隔连接和绘制具有不同时间的数据

凯尔·芬恩(Kyle Finn)

我在Access数据库中有3个表,它们具有相同的列名(TempDateTemp),但时间戳不同。每隔10分钟收集一次数据,但是每个记录设备的开始时间都不同。我想将这些合并到一个表中,每个表具有一个TempDate和一个Temp列(temp1,temp2,temp3)。

我需要有关如何在Access或R中执行此操作的帮助。我已经开始将R与MySQL代码一起使用,但是我仍然很新。提前致谢。最终,我想将此数据与具有相同日期范围的datetime时间戳一起连接到另一个数据框。如果有人可以告诉我如何告诉我如何按间隔分组,我想我可以解决。然后最后使用ggplot绘图

数据

    temp1<-data.frame(TempDate=c("2020/08/11 07:13:01","2020/08/11 07:23:01","2020/08/11 07:33:01","2020/08/11 07:43:01"),Temperature=c(1.610,-1.905,-1.905,-0.901))

temp2<-data.frame(TempDate=c("2020/08/11 07:10:01","2020/08/11 07:20:01","2020/08/11 07:30:01","2020/08/11 07:40:01"),Temperature=c(15.641,15.641,15.641,15.641))

temp3<-data.frame(TempDate=c("2020/08/11 07:19:01","2020/08/11 07:29:01","2020/08/11 07:39:01","2020/08/11 07:49:01"),Temperature=c(2.062,3.573,4.076,4.579))

> temp3 #as example
             TempDate Temperature
1 2020/08/11 07:19:01       2.062
2 2020/08/11 07:29:01       3.573
3 2020/08/11 07:39:01       4.076
4 2020/08/11 07:49:01       4.579

#what I want row 1 is temps recorded from 07:10:00-07:29:59, etc
> 
             TempDate    Temp1    Temp2   Temp3
1 2020/08/11 07:10:00    1.610    15.641   2.062
2 2020/08/11 07:20:00    -1.905   15.641   3.573
3 2020/08/11 07:30:00    -1.905   15.641   4.076
4 2020/08/11 07:40:00    -1.901   15.641   4.579

更新:感谢Ben提供的出色答案,让我开始解决此问题。在提出另一个问题时,floor_date有人建议。该代码对我的数据比@Ben的cut函数更好。使用cut时,我得到的时间以9(12:19)结尾,而不是0(12:10)。我也在TempDate+60cut函数中进行了尝试,但是某些日期将在接下来的10分钟间隔中获得一个时间。下面的代码更准确。

library(lubridate)    
tempdata<-bind_rows(burrow=burrow,shade=shade,sun=sun,.id='Series') %>%
       mutate(TempDate = as.POSIXct(TempDate, tz="UTC"),
         TimeStamp = floor_date(TempDate, unit='10 mins'),
         TimeStamp = as.POSIXct(TimeStamp, tz="UTC")) %>%
       filter(TimeStamp > as.POSIXct("2020-08-12 13:29:00", tz="UTC")) %>%
       select(Series, Temperature,TimeStamp) %>%
       arrange(TimeStamp)
Ben

在R中,您可以使用tidyverse方法执行以下操作

首先,您可以bind_rows用来将所有数据框放在一起,并添加source带有这些温度来自的数据框名称的列,或在最终结果中添加目标列。

然后,确保您TempDatePOSIXct您可以cut用来将日期时间间隔设置为10分钟。

在这一点上,我考虑将结果保留为用绘制ggplot2通常最好采用“长”格式而不是“宽”格式。但是,如果您希望使用“宽”格式,则可以使用pivot_widerfrom tidyr

library(dplyr)
library(tidyr)

bind_rows(temp1 = temp1, temp2 = temp2, temp3 = temp3, .id = 'source') %>%
  mutate(TempDate = as.POSIXct(TempDate),
         NewTempDate = cut(TempDate, breaks = "10 min")) %>%
  pivot_wider(id_cols = NewTempDate, names_from = source, values_from = Temperature)

输出量

  NewTempDate          temp1 temp2 temp3
  <fct>                <dbl> <dbl> <dbl>
1 2020-08-11 07:10:00  1.61   15.6  2.06
2 2020-08-11 07:20:00 -1.90   15.6  3.57
3 2020-08-11 07:30:00 -1.90   15.6  4.08
4 2020-08-11 07:40:00 -0.901  15.6  4.58

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

R中具有10分钟频率的时间序列

来自分类Dev

熊猫:如何将10分钟间隔的时间序列转换为数据帧?

来自分类Dev

如何在5分钟到30分钟之间汇总数据,同时保持日期间隔和其他值

来自分类Dev

使用xts在R中绘制具有不同时间索引的多个时间序列

来自分类Dev

Android屏幕在特定的不同时间间隔(例如1分钟,2分钟)以编程方式锁定

来自分类Dev

如何将数据库记录分组为15分钟的时间间隔

来自分类Dev

将数据从不规则的时间序列添加到具有5分钟时间步长的时间序列

来自分类Dev

在mysql中的开始时间和结束时间之间获取30分钟的间隔数据

来自分类Dev

gnuplot绘制具有不同时间格式的两个数据

来自分类Dev

Python熊猫-根据数据间隔的长度,平均测量10分钟,得出15分钟平均值和60分钟平均值

来自分类Dev

mongodb以10分钟为间隔聚合时间戳

来自分类Dev

根据R中的分钟数据创建15分钟的时间间隔

来自分类Dev

合并具有不同时间间隔的xts对象

来自分类Dev

如何计算以每个日期的持续时间和15分钟的间隔记录的用户

来自分类Dev

熊猫:合并具有不同时间频率的列

来自分类Dev

如何在熊猫fataframe中查找具有相同时间间隔的行

来自分类Dev

基于唯一的不同时间间隔合并两个数据集,然后创建一个具有所有不匹配值的数据集(以R表示)

来自分类Dev

绘制超过一天的具有不同时间戳和datetime.time格式的时间序列

来自分类Dev

Microsoft SQL SERVER:根据第一行不同的行将行分组30分钟(行可以具有不同的日期和时间)

来自分类Dev

如何在python中的同一轴上绘制具有不同时间频率的两个时间序列数据?

来自分类Dev

同一ChartJs图表上具有不同时间实例的两个数据集

来自分类Dev

如何在SQL中将5分钟的时间戳间隔转换为1分钟的间隔,同时保留其他信息?

来自分类Dev

如何计算R中具有不同时间范围和NA的时间序列数据的均值

来自分类Dev

使用xts在R中绘制具有不同时间索引的多个时间序列

来自分类Dev

将数据从不规则的时间序列添加到具有5分钟时间步长的时间序列

来自分类Dev

Python熊猫-根据数据间隔的长度,平均测量10分钟,平均测量15分钟和平均测量60分钟

来自分类Dev

具有不同时间跨度的闪烁按钮

来自分类Dev

如何在Python Matplotlib中绘制两个具有不同时间间隔的数据集并使它们共享轴

来自分类Dev

数据之间的时间间隔都超过5分钟时,如何按计数查询和排序数据

Related 相关文章

  1. 1

    R中具有10分钟频率的时间序列

  2. 2

    熊猫:如何将10分钟间隔的时间序列转换为数据帧?

  3. 3

    如何在5分钟到30分钟之间汇总数据,同时保持日期间隔和其他值

  4. 4

    使用xts在R中绘制具有不同时间索引的多个时间序列

  5. 5

    Android屏幕在特定的不同时间间隔(例如1分钟,2分钟)以编程方式锁定

  6. 6

    如何将数据库记录分组为15分钟的时间间隔

  7. 7

    将数据从不规则的时间序列添加到具有5分钟时间步长的时间序列

  8. 8

    在mysql中的开始时间和结束时间之间获取30分钟的间隔数据

  9. 9

    gnuplot绘制具有不同时间格式的两个数据

  10. 10

    Python熊猫-根据数据间隔的长度,平均测量10分钟,得出15分钟平均值和60分钟平均值

  11. 11

    mongodb以10分钟为间隔聚合时间戳

  12. 12

    根据R中的分钟数据创建15分钟的时间间隔

  13. 13

    合并具有不同时间间隔的xts对象

  14. 14

    如何计算以每个日期的持续时间和15分钟的间隔记录的用户

  15. 15

    熊猫:合并具有不同时间频率的列

  16. 16

    如何在熊猫fataframe中查找具有相同时间间隔的行

  17. 17

    基于唯一的不同时间间隔合并两个数据集,然后创建一个具有所有不匹配值的数据集(以R表示)

  18. 18

    绘制超过一天的具有不同时间戳和datetime.time格式的时间序列

  19. 19

    Microsoft SQL SERVER:根据第一行不同的行将行分组30分钟(行可以具有不同的日期和时间)

  20. 20

    如何在python中的同一轴上绘制具有不同时间频率的两个时间序列数据?

  21. 21

    同一ChartJs图表上具有不同时间实例的两个数据集

  22. 22

    如何在SQL中将5分钟的时间戳间隔转换为1分钟的间隔,同时保留其他信息?

  23. 23

    如何计算R中具有不同时间范围和NA的时间序列数据的均值

  24. 24

    使用xts在R中绘制具有不同时间索引的多个时间序列

  25. 25

    将数据从不规则的时间序列添加到具有5分钟时间步长的时间序列

  26. 26

    Python熊猫-根据数据间隔的长度,平均测量10分钟,平均测量15分钟和平均测量60分钟

  27. 27

    具有不同时间跨度的闪烁按钮

  28. 28

    如何在Python Matplotlib中绘制两个具有不同时间间隔的数据集并使它们共享轴

  29. 29

    数据之间的时间间隔都超过5分钟时,如何按计数查询和排序数据

热门标签

归档