Создать последовательность раз в R? - PullRequest
0 голосов
/ 15 апреля 2020

Я хочу создать последовательность времен 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"))

Но у меня есть 2 проблемы:

  1. Я получаю сообщение об ошибке chron(time = paste(x$x, ':', x$y), format = c(times = "h:m")):

Ошибка в convert.times (times., Fmt): формат h: m может быть неправильным

Как мне перевести его на стандартное время с AM / PM? Должен ли я объединить его дважды:

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

t_am <- merge(t, "AM")

t_pm <- merge(t, "PM")

Или, возможно, другим способом, используя POSIXt?

1 Ответ

1 голос
/ 15 апреля 2020

Мы можем использовать 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")!
...