我从xls文件中读取数据,但是发现时间格式不正确。例如,它可能如下所示:
0.3840277777777778
0.3847222222222222
0.3854166666666667
的确,他们应该是这样的。
09:12
09:13
09:13
我不知道如何将它转换为正确的格式。我查了几个帖子,所有这些帖子都是关于将日期(带/不带时间)转换为正确格式的。
有人能给我任何线索吗?
在将您的数字乘以一天中的秒数(60 * 60 * 24)之后,您可以使用as.POSIXct。
nTime <- c(0.3840277777777778, 0.3847222222222222, 0.3854166666666667)
format(as.POSIXct((nTime) * 86400, origin = "1970-01-01", tz = "UTC"), "%H:%M")
## [1] "09:13" "09:14" "09:15"
另一个选项是使用来自chron
的times
library(chron)
times(nTime)
#[1] 09:13:00 09:14:00 09:15:00
去掉秒数,
substr(times(nTime),1,5)
#[1] "09:13" "09:14" "09:15"
nTime <- c(0.3840277777777778, 0.3847222222222222, 0.3854166666666667)
对于想要相反的方法的人:给定 09:13:00,获取 0.3840278。
as.numeric(chron::times("09:13:00"))
基本上,这个想法是一整天等于1,所以中午(12点)就是0.5。
read.xlsx2(file dir, sheetIndex = 1, header = TRUE, sep = "", stringsAsFactors = FALSE)
。 - Duy Bui