在R中创建一个时间序列



我想创建一个时间序列00:00-12:00和12:00到00:00,步长为10分钟。如何在R中执行此操作?

我尝试过:

library(chron)
t <- merge(0:23, seq(0, 50, by = 10))
chron(time = paste(x$x, ':', x$y), format = c(times = "h:m"))

但我有两个问题:

  1. 运行chron(time = paste(x$x, ':', x$y), format = c(times = "h:m"))时出错:

转换时出错。times(times.,fmt(:格式h:m可能是不正确的

  1. 如何使用AM/PM将其转换为标准时间?我应该合并两次吗:

t <- merge(0:12, seq(0, 50, by = 10))

t_am <- merge(t, "AM")

t_pm <- merge(t, "PM")

或者使用POSIXt的另一种方式?

我们可以使用seq:

format(seq(as.POSIXct('00:00', format = "%H:%M", tz = "UTC"), 
as.POSIXct(Sys.Date() + 1), by = '10 mins'), "%I:%M%p")
#[1] "12:00AM" "12:10AM" "12:20AM" "12:30AM" "12:40AM" "12:50AM" "01:00AM ...
#[141] "11:20PM" "11:30PM" "11:40PM" "11:50PM" "12:00AM"

确保您有正确的区域设置或通过进行设置

Sys.setlocale("LC_TIME", "en_US.UTF-8")!

相关内容

最新更新