r中多个日期的difftime

时间:2014-05-20 14:39:17

标签: r date

我从河里取得化学水数据。通常情况下,样本日期是每两周一次。数据记录始于1987年,并于2013年结束。

现在,我想重新检查数据中是否存在任何不一致,即如果样本确实每14天采样一次。对于那个任务,我想使用r函数difftime。但我不知道如何在多个日期做到这一点。

以下是一些数据:

Date                     Value
1987-04-16 12:00:00      1,5
1987-04-30 12:00:00      1,2
1987-06-25 12:00:00      1,7
1987-07-14 12:00:00      1,3

你能告诉我如何在这种情况下正确使用difftime函数或任何其他完成这项工作的函数。结果应该是样本之间的天数和/或14天的真假。

先谢谢你们。任何google-fu都无济于事!

1 个答案:

答案 0 :(得分:1)

假设您的data.frame名为dd,您需要验证Date列是否被视为日期。大多数时候,R会将它们读作一个转换为data.frame中的因子的字符。如果class(df$Date)是“character”或“factor”,请运行

dd$Date<-as.POSIXct(as.character(dd$Date), format="%Y-%m-%d %H:%M:%S")

然后你可以这么简单diff()来获得天数的时差

diff(dd$Date)
# Time differences in days
# [1] 14 56 19
# attr(,"tzone")
# [1] ""

所以你可以检查哪些超过14天。