r - 如何在 POSIX 中提取小时、分钟和秒(忽略日期)

标签 r datetime time casting

我在数据框中有这一列

> str(df[,"Saida"])
  POSIXct[1:2498938], format: "2016-01-01 04:05:00" "2016-01-01 04:23:00" "2016-01-02 04:09:00" "2016-01-03 03:58:00" ...

我想忽略事件发生的日期,但只考虑小时、分钟和秒。我认为这很简单:

hms(df[,"Saida"])

这就出现了

Warning message:
In .parse_hms(..., order = "HM", quiet = quiet) :
  Some strings failed to parse

不是好兆头。返回是一个充满 NA 的向量

-------------------------------------------- ----------------------------

你能帮我找到一个解决方案吗,例如:将“2016-01-01 04:05:00”转换为“04:05:00”作为时间类,这样我就可以找出元素之间的差异, 后者在

附言: 这可能会有帮助

> dput(head(df[,"Saida"]))

structure(c(1451628300, 1451629380, 1451714940, 1451800680, 1451892720, 
1451973420), class = c("POSIXct", "POSIXt"), tzone = "")

最佳答案

这是使用 data.table 的一种方法:

library(data.table)
#I named your dput(head(df[,"Saida"])) as vec
time <- as.ITime(vec)
time
#[1] "06:05:00" "06:23:00" "06:09:00" "05:58:00" "07:32:00" "05:57:00"
str(time)
#Class 'ITime'  int [1:6] 21900 22980 22140 21480 27120 21420

如您所见,该类是 ITime,因此您可以稍后进行任何计算。

关于r - 如何在 POSIX 中提取小时、分钟和秒(忽略日期),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46259049/

相关文章:

r - 如果已加载,则分离 R 中的特定包

r - 小块饼图上的标签(ggplot)

r - 在 R 中,如何删除最后一个斜杠之前的所有内容

c# - 为什么我的 TimeSpan.Add() 不工作?

bash - 使用时间命令进行基准测试

r - 使用 dplyr 转置时间序列(有滞后的变异)

python - 将 YYYYMXX 转换为 pandas 数据框中的日期

perl - 在 perl 中限制倒置 DateTime::SpanSet 的更好方法?

java - 一天中的时间(以分钟为单位)Java

带有冬季/夏季时间的 Swift 时区