背景信息:我正在分析呼吸测量实验的数据,每一行都包含一个日期时间值,我已将其保存为“POSIXct”“POSIXt”以在 lubridate 包中使用。气体分析仪每秒采样一次空气,日期时间值的格式为“yyyy-mm-dd h:mm:ss”。气体分析仪对受试者室内的空气进行 9 分钟采样(样本),然后测量实验室的环境空气 1 分钟(基线)。这些数据(基线和样本)用于计算样本期间的代谢率,然后删除基线期间,这会在数据集中产生间隙。
问题:为了获得静息代谢率,我需要选择平均代谢率最低的时间间隔。我想为此间隔使用 3 分钟的持续时间,并且该间隔必须仅包含连续的数据点(即,它不能跨越基线期间之前和之后)。换句话说,我想看看每个可能的3分钟间隔(从每个样本开始3分钟),然后选择新陈代谢最低的间隔。
到目前为止,我已经使用 lubridate、xts 和 R 基础中的聚合函数搜索了解决方案,但我不确定如何开始为此拼凑代码。由于所选间隔需要是连续的,因此由于数据中存在间隙,基线使情况变得复杂。
请参阅下面的数据示例。我没有发布整个示例,而是发布了数据集的缩小版本,它说明了其中一个差距(第 20 行),并且仍然允许我们以缩小的间隔(例如,5 秒而不是180).
这是我的第一篇文章,任何线索或建议将不胜感激。如果我可以提供任何其他有用的信息,也请告诉我。
日期时间 | 新陈代谢 |
---|---|
2023-05-03 10:34:30 | 13.62103 |
2023-05-03 10:34:31 | 13.65260 |
2023-05-03 10:34:32 | 13.67962 |
2023-05-03 10:34:33 | 13.64771 |
2023-05-03 10:34:34 | 13.61375 |
2023-05-03 10:34:35 | 13.56638 |
2023-05-03 10:34:36 | 13.50510 |
2023-05-03 10:34:37 | 13.50660 |
2023-05-03 10:34:38 | 13.53822 |
2023-05-03 10:34:39 | 13.50158 |
2023-05-03 10:34:40 | 13.49800 |
2023-05-03 10:34:41 | 13.53836 |
2023-05-03 10:34:42 | 13.52143 |
2023-05-03 10:34:43 | 13.49708 |
2023-05-03 10:34:44 | 13.53909 |
2023-05-03 10:34:45 | 13.60093 |
2023-05-03 10:34:46 | 13.57891 |
2023-05-03 10:34:47 | 13.55134 |
2023-05-03 10:34:48 | 13.57877 |
2023-05-03 10:34:49 | 13.54543 |
2023-05-03 10:36:20 | 13.15547 |
2023-05-03 10:36:21 | 19870.13 |
2023-05-03 10:36:22 | 13.19417 |
2023-05-03 10:36:23 | 13.15275 |
2023-05-03 10:36:24 | 13.13062 |
2023-05-03 10:36:25 | 13.05937 |
2023-05-03 10:36:26 | 12.98124 |
2023-05-03 10:36:27 | 12.99768 |
2023-05-03 10:36:28 | 12.95140 |
2023-05-03 10:36:29 | 12.85653 |
2023-05-03 10:36:30 | 12.95333 |
2023-05-03 10:36:31 | 13.02995 |
2023-05-03 10:36:32 | 12.96006 |
2023-05-03 10:36:33 | 12.94167 |
2023-05-03 10:36:34 | 13.00879 |
2023-05-03 10:36:35 | 13.01635 |
2023-05-03 10:36:36 | 12.97912 |
2023-05-03 10:36:37 | 12.97864 |
2023-05-03 10:36:38 | 13.00347 |
2023-05-03 10:36:39 | 13.02734 |