从30分钟数据中提取R中一天的最后一个时间戳

用户名

我有一个数据集,不定期地以30分钟的频率采样,如下所示。我需要提取每天的上一个时间戳的索引。数据集如下:

datetime <-c("8/19/2011 16:00",
"8/19/2011 17:30",
"8/19/2011 18:30",
"8/19/2011 19:30",
"8/22/2011 4:00",
"8/22/2011 6:00",
"8/22/2011 7:00",
"8/22/2011 19:00",
"8/22/2011 19:30",
"8/23/2011 4:00",
"8/24/2011 5:30",
"8/24/2011 7:00",
"10/25/2011 7:30")

我已将其转换为POSIXlt对象,如下所示。

datetime <- strptime(datetime, format="%m/%d/%Y  %H:%M")
datetime <- as.POSIXlt(datetime)

但是,我无法提取每天的最后一个索引。我想要一个输出作为每天上一次时间戳的索引,即我的输出将是

list of (4, 9, 10,12,13) corresponding to datetime values of 
"8/19/2011 19:30"
"8/22/2011 19:30"
"8/23/2011 4:00"
"8/24/2011 7:00"
"10/25/2011 7:30"

任何帮助将不胜感激。谢谢!

阿卜杜

尝试:

数据:

 datetime <- c("8/19/2011 16:00", "8/19/2011 17:30", "8/19/2011 18:30", "8/19/2011 19:30", "8/22/2011 4:00", "8/22/2011 6:00", "8/22/2011 7:00", "8/22/2011 19:00", "8/22/2011 19:30", "8/23/2011 4:00", "8/24/2011 5:30", "8/24/2011 7:00", "8/23/2011 7:30", "12/23/2012 19:23", "11/24/2015 7:13")

代码:

splitter <- strftime(strptime(datetime,"%m/%d/%Y %H:%M"), "%m/%d/%Y")    
lapply(split(datetime, splitter), function(x) {
        match(x[length(x)], datetime)
    })

如果您还想返回索引处的值,则可以像下面这样调整代码:

lapply(split(datetime, splitter), function(x) {
    val_index <- match(x[length(x)], datetime)
    c(val_index,datetime[val_index])
})

输出1:

$`08/19/2011`
[1] 4

$`08/22/2011`
[1] 9

$`08/23/2011`
[1] 13

$`08/24/2011`
[1] 12

$`11/24/2015`
[1] 15

$`12/23/2012`
[1] 14

输出2:

$`08/19/2011`
[1] "4"               "8/19/2011 19:30"

$`08/22/2011`
[1] "9"               "8/22/2011 19:30"

$`08/23/2011`
[1] "13"             "8/23/2011 7:30"

$`08/24/2011`
[1] "12"             "8/24/2011 7:00"

$`11/24/2015`
[1] "15"              "11/24/2015 7:13"

$`12/23/2012`
[1] "14"               "12/23/2012 19:23"

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

熊猫:时间序列数据:如何选择一个小时,一天或一分钟的行?

来自分类Dev

选择时间戳中每一天的最后一个条目和相应的值

来自分类Dev

SQL选择每天的最后一个时间戳

来自分类Dev

从数据框中的最后一个可用日期中提取最近30天的数据框

来自分类Dev

如何在Python中将1分钟的开-高-低-关数据转换为另一个时间范围(fx:5分钟1小时)?

来自分类Dev

在postgresSQL中获取一个月的最后一天和第一天的时间戳

来自分类Dev

如何在BigQuery中提取两个时间戳之间的唯一天数?

来自分类Dev

在15分钟间隔内查找数据集中的最后一个值

来自分类Dev

每30分钟分组一次时间戳

来自分类Dev

如果单个值在另一个时间的+/- 15分钟范围内,如何检查时间数组

来自分类Dev

如何比较两个时间戳以查看一个时间戳是否晚了超过特定的分钟数?

来自分类Dev

在R中以5分钟的时间间隔创建一个24小时向量

来自分类Dev

如何获取YearMonth对象中一个月的最后一天?

来自分类Dev

按某一列将数据帧压缩为包含第一个和最后一个时间戳以及值均值的行

来自分类Dev

使用Yii CDateTimeParser生成一天的最后一天的时间戳(23:59:59)

来自分类Dev

使用频率为1分钟的Python在时间序列中丢弃具有Nan值的任何一天

来自分类Dev

熊猫-合并几乎重复的行以过滤最后一个时间戳

来自分类Dev

为每个字段选择最后一个时间戳值的字段

来自分类Dev

为表上的每个组选择最后一个时间戳(记录)

来自分类Dev

在python中从月份中提取最后一天和第一天

来自分类Dev

Pandas 中一天的第一个和最后一个值(Python)

来自分类Dev

Oracle查询以获取两个时间戳之间的每一分钟

来自分类Dev

Pandas:生成一个充满一年最后一天的时间序列

来自分类Dev

从数组数组中查找每天的第一个和最后一个时间戳

来自分类Dev

R:数据帧根据第一个时间戳选择每个ID的最大行

来自分类Dev

自行加入下一个时间戳

来自分类Dev

按时间戳,特定模式的天/分钟获取一天的行

来自分类Dev

每 15 分钟在 R 中创建一个时间序列

来自分类Dev

最好在30分钟后再创建一个dateTime对象?

Related 相关文章

  1. 1

    熊猫:时间序列数据:如何选择一个小时,一天或一分钟的行?

  2. 2

    选择时间戳中每一天的最后一个条目和相应的值

  3. 3

    SQL选择每天的最后一个时间戳

  4. 4

    从数据框中的最后一个可用日期中提取最近30天的数据框

  5. 5

    如何在Python中将1分钟的开-高-低-关数据转换为另一个时间范围(fx:5分钟1小时)?

  6. 6

    在postgresSQL中获取一个月的最后一天和第一天的时间戳

  7. 7

    如何在BigQuery中提取两个时间戳之间的唯一天数?

  8. 8

    在15分钟间隔内查找数据集中的最后一个值

  9. 9

    每30分钟分组一次时间戳

  10. 10

    如果单个值在另一个时间的+/- 15分钟范围内,如何检查时间数组

  11. 11

    如何比较两个时间戳以查看一个时间戳是否晚了超过特定的分钟数?

  12. 12

    在R中以5分钟的时间间隔创建一个24小时向量

  13. 13

    如何获取YearMonth对象中一个月的最后一天?

  14. 14

    按某一列将数据帧压缩为包含第一个和最后一个时间戳以及值均值的行

  15. 15

    使用Yii CDateTimeParser生成一天的最后一天的时间戳(23:59:59)

  16. 16

    使用频率为1分钟的Python在时间序列中丢弃具有Nan值的任何一天

  17. 17

    熊猫-合并几乎重复的行以过滤最后一个时间戳

  18. 18

    为每个字段选择最后一个时间戳值的字段

  19. 19

    为表上的每个组选择最后一个时间戳(记录)

  20. 20

    在python中从月份中提取最后一天和第一天

  21. 21

    Pandas 中一天的第一个和最后一个值(Python)

  22. 22

    Oracle查询以获取两个时间戳之间的每一分钟

  23. 23

    Pandas:生成一个充满一年最后一天的时间序列

  24. 24

    从数组数组中查找每天的第一个和最后一个时间戳

  25. 25

    R:数据帧根据第一个时间戳选择每个ID的最大行

  26. 26

    自行加入下一个时间戳

  27. 27

    按时间戳,特定模式的天/分钟获取一天的行

  28. 28

    每 15 分钟在 R 中创建一个时间序列

  29. 29

    最好在30分钟后再创建一个dateTime对象?

热门标签

归档