r - 如何自动为时间序列数据中的每一天创建一个子集
问题描述
我从传感器收集了数据,需要自动将数据拆分为 1 天的数据帧。
这就是我的数据的样子:
2 2021-10-20 20:17:14 151 -135.9 8.304 -339.5 8.175 23.13232 78.95514 97.10153
3 2021-10-20 20:27:15 152 -136.9 8.302 -340.6 8.175 23.89337 86.71063 98.07861
4 2021-10-20 20:37:15 153 -138.2 8.302 -340.5 8.177 23.00682 80.71004 96.15726
5 2021-10-20 20:47:16 154 -138.8 8.302 -341.0 8.176 23.76786 83.38557 98.30032
我使用 tibbletime 和 dplyr 来获取 tbl_time 对象。
到目前为止,我能够为第 1 天创建一个子集,并且手动为第 2 天和第 3 天等创建一个子集很容易。最后我将拥有一年的数据,所以这将是一个痛苦的事情手动。
这是我使用的代码行:
day1<- filter_time(bio2_table, time_formula = '2021-10-20' ~ '2021-10-20')
我是菜鸟,但我仍然想相信有一种方法可以让 r 自己完成所有工作。
谢谢!
解决方案
您的日期对象是什么数据类型?
第一步是获取正确的日期格式,然后您可以 group_split() 获取数据框列表,每个数据框代表一个特定的日期。
如果对这种方法感兴趣,您可以查看 setNames() 函数来命名每个数据框。
data %>%
mutate(date = as.Date(format(date, "%y-%m-%d")))%>%
group_split(date)
推荐阅读
- java - Oracle XDB AQ 和 Maven 错误:无法找到请求目标的有效证书路径
- spring - 春季启动时未加载 XML 中的 Apache 骆驼路由
- python-3.x - 带有列表的 Python 种子?
- amazon-web-services - Tableau 安装 AWS 发现数据目录只有 0 GB
- typescript - PhpStorm:TS2304:找不到名称 X 和其他 TS 错误
- python - python - 我如何在数据框中执行以下操作
- sql - 需要帮助在 oracle 中编写子查询
- python - 函数内部的模拟函数
- graph - Dijkstra 算法的时间复杂度
- bokeh - 根据我在折线图中单击的内容更新/创建数据表