我在hh:mm:ss范围内(08:30:00,15:00:00)按分钟收集时间序列数据。我正在处理的变量是一个浮点因子,其值如下:
time.float
48.13333
56.66667
65.93333
113.33333
94.60000
我想获取time.float
中的值,并在上述时间范围内将它们转换为hh:mm:ss格式。
我迷失了如何处理这个问题。是否有内置函数在R?
中的某个范围内分配时间值答案 0 :(得分:6)
使用as.difftime
创建可添加到起点的分钟对象。像:
out <- as.difftime(dat$time.float, units="mins") + as.POSIXct("08:30:00", format="%H:%M:%S")
您可以以文本字符串的任何格式输出:
format(out, "%H:%M:%S")
#[1] "09:18:07" "09:26:40" "09:35:55" "10:23:19" "10:04:36"
dat
的位置:
dat <- structure(list(time.float = c(48.13333, 56.66667, 65.93333, 113.33333,
94.6)), .Names = "time.float", class = "data.frame", row.names = c(NA,
-5L))