【发布时间】:2014-10-13 14:32:25
【问题描述】:
我有一个包含两个时间变量的数据集:EndVisitTime 和 BoxTime。我每天都做数据集(所以这些观察都是一天的):
Date<-"2014-8-12"
EndVisitTime<-c("00:00:32", "00:04:52", "00:10:01", "00:23:38", "00:31:28") # class: factor
BoxTime<-as.integer(c("341", "229", "301", "810", "363")) # class integer in seconds
df<-data.frame(Date, EndVisitTime, BoxTime)
我要计算StartVisitTime;那是EndVisitTime - BoxTime。
当访问在前一天开始时,我想获得正确的开始日期 (date = 2014-8-11)。
我的问题是如何从EndVisitTime 中减去BoxTime(以秒为单位)以得到正确的StartVisitTime 和正确的StartDate??
我已经尝试了几个选项,但由于它们不断添加当前日期或导致无法转换为时间-日期格式的 0 到 1 特征,我无法进一步了解。
# This is my most successful attempt
df$EndTime<-strptime(df$EndVisitTime, format="%H:%M:%S")
df$BoxTime<-as.numeric(df$BoxTime)
library("chron")
df$x<-chron(times=(df$BoxTime/(60*60*24)))
df$StartVisitTime<-df$EndTime-df$x ### This does not work!
非常感谢和希望您的帮助!!!
【问题讨论】:
-
你能添加一个创建df的代码序列,然后对df进行计算。