我有一个非常大的数据库,我需要计算样本之间的经过时间,并将结果放入另一列,以便我以后可以进行持续时间计算......
我能够做到这一点,但我的结果不太正确......
station$datetime<-as.POSIXct(paste(station$ï..SAMPLE_DATE,station$SampleTime), format="%Y-%m-%d %H:%M:%S")
storder<-station[order(station$datetime),]
storder$timeel <- storder$datetime - storder$datetime[1]
此代码用于组合和格式化我的日期时间并按顺序排列,它确实给了我经过时间的结果... sorta ....
> head(storder$datetime)
[1] "2005-06-01 09:00:01 EDT" "2005-06-01 09:15:01 EDT" "2005-06-01 09:30:01 EDT" "2005-06-01 09:45:01 EDT"
[5] "2005-06-01 10:00:01 EDT" "2005-06-01 10:15:01 EDT"
> head(storder$timeel)
Time differences in secs
[1] 0 900 1800 2700 3600 4500
所以我的问题是......如何让它不累积?
我需要的更多的是0 900 900 901 900 903等......(最终我将转换为分钟)
我一直在寻找,但我确信我已经错过了一些简单的......再次......
答案 0 :(得分:1)
使用diff
。要将单位更改为分钟,请使用:
a<-diff(storder$datetime)
units(a) <- "mins"