我有按hh:mm:ss范围(08:30:00,15:00:00)分钟收集的时间序列数据.我正在处理的变量是一个浮点因子,其值如下:
time.float
48.13333
56.66667
65.93333
113.33333
94.60000
Run Code Online (Sandbox Code Playgroud)
我想取值time.float并在上面的时间范围内将它们转换为hh:mm:ss格式.
我迷失了如何处理这个问题.是否有内置函数在R中的某个范围内分配时间值?
使用as.difftime来创建可添加到启动点分钟对象.喜欢:
out <- as.difftime(dat$time.float, units="mins") + as.POSIXct("08:30:00", format="%H:%M:%S")
Run Code Online (Sandbox Code Playgroud)
您可以以文本字符串的任何格式输出:
format(out, "%H:%M:%S")
#[1] "09:18:07" "09:26:40" "09:35:55" "10:23:19" "10:04:36"
Run Code Online (Sandbox Code Playgroud)
哪里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))
Run Code Online (Sandbox Code Playgroud)