Преобразовать целое число во время ЧЧ: ММ в R (например: 50 -> 00:50) - PullRequest
0 голосов
/ 20 января 2019

Существуют различные способы преобразования целого числа во время, но ни один из них не может изменить мой ввод в правильный формат времени.

Например, целочисленные данные с некоторыми NA:

data <- c(NA, 50, 1123, 2211, 645)

Я хочу вернуть следующее: NA, 00:50, 11:23, 22:11, 06:45.

Я пробовал следующее:

format(strptime(data, format="%H%M"), format = "%H:%M") 

, который дал мне NA NA 11:23 22:11 NA

и

sub("(\\d+)(\\d{2})", "\\1:\\2", data)
sub("(\\d+)(.{2})", "\\1:\\2", data)

, который дал мне NA 50 11:23 22:11 6:45

Есть ли способ конвертировать 50 в 00:50?

1 Ответ

0 голосов
/ 20 января 2019

Будет работать следующее:

data <- c(NA, 50, 1123, 2211, 645)

format(strptime(formatC(data, width = 4, format = "d", flag = "0"), format="%H%M"), format = "%H:%M")
# [1] NA      "00:50" "11:23" "22:11" "06:45"

Предполагается, что вы всегда хотите заполнить влево.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...