【发布时间】:2017-08-19 11:04:32
【问题描述】:
我有一个时间格式的数据框。我需要将其更改为数字数据。 我使用了以下格式,但我不确定它是否正确,因为值会以数字格式更改。
Photoperiod
08:52:41
08:53:35
08:54:33
08:55:36
08:56:44
08:57:55
08:59:11
09:00:31
09:01:55
09:03:23
09:04:55
09:06:31
09:08:10
09:09:53
09:11:40
DF<- read.csv2(file="DF.csv")
DF.a <-as.POSIXct(DF, format = "%H:%M:%S")
library(data.table)
DF.B<- lapply(DF.a , function(x) as.numeric(as.ITime(x)) / 3600)
【问题讨论】:
-
问题出在哪里?前两次相差约 1 分钟。这是 1/60 ~0.016。如果您查看前两次之间的差异,则为 0.015。
-
您期望看到什么值?函数
as.numeric(as.ITime(x))/3600会根据小时数(最多24)给出时间。例如,您可以检查as.numeric(as.ITime("12:00:00"))/3600返回 12,as.numeric(as.ITime("23:59:59"))/3600返回 23.99972,等等。 -
我的数据框是日光数据,所以 14:25:30 表示 14 小时 25 分钟的日光,我不知道我是否使用 as.numeric(as.ITime(x))/3600我是否粉碎了我的数据。只是感到困惑。