我想对数据帧进行子集化,以便仅保留秒为偶数的观察值.
您可以在这里下载我的一小部分数据(100行).
前6行看起来像这样:
Timestamp C01 C02 C03 C04 C05 C06 C07 C08 C09 C10 C11 C12 C13 C14
1 2013-04-01 00:00:00 0 1 1 1 1 0 1 1 1 1 0 1 0 1
2 2013-04-01 00:00:01 0 1 1 1 1 0 1 1 1 1 0 1 0 1
3 2013-04-01 00:00:02 0 1 1 1 1 0 1 1 1 1 0 1 0 1
4 2013-04-01 00:00:03 0 1 1 1 1 0 1 1 1 1 0 1 0 1
5 2013-04-01 00:00:04 0 1 1 1 1 0 1 1 1 1 0 1 0 1
6 2013-04-01 00:00:05 0 1 1 1 1 0 1 1 1 1 0 1 0 1
Run Code Online (Sandbox Code Playgroud)
我希望它看起来像这样:
Timestamp C01 C02 C03 C04 C05 C06 C07 C08 C09 C10 C11 C12 C13 C14
1 2013-04-01 00:00:00 0 1 1 1 1 0 1 1 1 1 0 1 0 1
2 2013-04-01 00:00:02 0 1 1 1 1 0 1 1 1 1 0 1 0 1
3 2013-04-01 00:00:04 0 1 1 1 1 0 1 1 1 1 0 1 0 1
4 2013-04-01 00:00:06 0 1 1 1 1 0 1 1 1 1 0 1 0 1
5 2013-04-01 00:00:08 0 1 1 1 1 0 1 1 1 1 0 1 0 1
6 2013-04-01 00:00:10 0 1 1 1 1 0 1 1 1 1 0 1 0 1
Run Code Online (Sandbox Code Playgroud)
我理解如何从这里和这里分配时间间隔,但是我找不到类似于我的问题的例子,坦率地说,我不知道从哪里开始.
谢谢!
注意:Timestamp变量已经格式化为POSIXct.
我正在添加一个答案,因为虽然所有答案都很好,但没有一个人承认POSIXct对象在转换为整数时实际上是以秒为单位表示的事实(从1970年1月1日开始),所以实际上下面的工作如下:好吧(但如果你试图选择奇数甚至几分钟,几小时,......):
a <- seq(as.POSIXct("2013-04-01 00:00:00"),as.POSIXct("2013-04-01 01:00:00"),by="secs")
a[as.integer(a)%%2==0]
Run Code Online (Sandbox Code Playgroud)