【发布时间】:2016-02-15 08:25:48
【问题描述】:
我有一个名为 summer.q.0 的数据框,其中包含时间 (X) 和 4 个温度(X0、X0.33、X0.66 和 X1)。我需要在特定时间对提取行的数据框进行子集化。这是我的数据框的head:
X X0 X0.33 X0.66 X1
1 6/28/2009 19:30:00 30.760 27.340 25.800 24.600
2 6/28/2009 19:32:24 30.740 27.352 25.804 24.599
3 6/28/2009 19:35:16 30.740 27.363 25.807 24.599
4 6/28/2009 19:38:44 30.740 27.372 25.808 24.599
5 6/28/2009 19:40:00 30.740 27.375 25.809 24.599
6 6/28/2009 19:42:24 30.703 27.379 25.810 24.599
7 6/28/2009 19:45:16 30.703 27.384 25.810 24.599
8 6/28/2009 19:48:44 30.703 27.390 25.811 24.599
在X列中,以分钟为单位的时间随机出现。我需要提取X列中以分钟为单位的时间在一刻钟上的行(即分钟= 00、30或45的行)。在数据框中,X 列中的值是因子。我意识到需要将它们转换为可识别的 R 时间格式以提取所需的行,但不确定最佳或最简单的方法。那么在将X 转换为正确的 R 日期和时间格式之后,提取/子集所需行的最简单方法是什么?
例如:假设我的数据框只是上面的 8 行(完整的数据集有 33601 行,并且是建模的温度时间序列数据),我将有一个看起来像这样的子集和一个新的时间格式如下:
X X0 X0.33 X0.66 X1
1 2009-06-28 19:30:00 30.760 27.340 25.800 24.600
2 2009-06-28 19:45:16 30.703 27.384 25.810 24.599
在子集中,我需要对分钟正好为 00、33 和 45(15 分钟数据)的所有行进行子集化,以便我可以将其与已经以 15 分钟间隔且时间为 15 分钟的测量数据集进行比较POSIXlt 格式。因此,子集将包含来自 8 行的原始数据帧的第 1 行和第 7 行。理想情况下,我会在子集中设置秒数 ==00;不确定这是否可以轻松完成。推理是建模数据和测量数据不会完全匹配,因此在比较两个数据集的图时,秒数并不那么重要。希望这是有道理的。谢谢!
【问题讨论】:
-
您的意思是分钟精确 = 00,30 还是 45?如果您能提供一个您希望输出看起来像什么的示例,将会很有帮助。
-
嗨,是的,输出需要包含分钟正好 = 到 00、33 和 45 的所有行。我添加了一个输出应该是什么样子的示例以及更多解释。谢谢
标签: r time subset series posixlt