将整数转换为R中的时间HH:MM(例如:50-> 00:50)

时间:2019-01-19 23:19:28

标签: r

有多种方法可以将整数转换为时间,但是没有一种方法可以将我的输入更改为正确的时间格式。

例如,具有某些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 :(得分:2)

以下将起作用:

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"

假设您始终想向左滑动。