POSIXctを差し引いたいと思います。私はこれを行うことができますが、最初の行に応じて(私は推測しますか?)違いは数秒または数分になります。以下では、最初の行の時間差を変更したため、最初の差分は秒単位で、2番目の差分は分単位で表示されます。
#diff in seconds because 1st row time diff is small?
t1<- as.POSIXct(c("2015-02-02 20:18:03 00:00:00", "2015-02-02 20:17:02 00:00:00"),"GMT")
t2<- as.POSIXct(c("2015-02-02 20:18:02 00:00:00","2015-02-02 20:18:02 00:00:00"),"GMT")
d<-data.frame(t1= t1, t2= t2)
d$t1-d$t2
#diff in seconds because 1st row time diff is larger?
t1<- as.POSIXct(c("2015-02-02 20:13:03 00:00:00", "2015-02-02 20:17:02 00:00:00"),"GMT")
t2<- as.POSIXct(c("2015-02-02 20:18:02 00:00:00","2015-02-02 20:18:02 00:00:00"),"GMT")
d<-data.frame(t1= t1, t2= t2)
d$t1-d$t2
結果:
> #diff in seconds because 1st row time diff is small?
> t1<- as.POSIXct(c("2015-02-02 20:18:03 00:00:00", "2015-02-02 20:17:02 00:00:00"),"GMT")
> t2<- as.POSIXct(c("2015-02-02 20:18:02 00:00:00","2015-02-02 20:18:02 00:00:00"),"GMT")
> d<-data.frame(t1= t1, t2= t2)
> d$t1-d$t2
Time differences in secs
[1] 1 -60
>
>
> #diff in seconds because 1st row time diff is larger?
> t1<- as.POSIXct(c("2015-02-02 20:13:03 00:00:00", "2015-02-02 20:17:02 00:00:00"),"GMT")
> t2<- as.POSIXct(c("2015-02-02 20:18:02 00:00:00","2015-02-02 20:18:02 00:00:00"),"GMT")
> d<-data.frame(t1= t1, t2= t2)
> d$t1-d$t2
Time differences in mins
[1] -4.983333 -1.000000
最初の行の違いが何であれ、常に秒単位の違いが欲しいです。これを実現する方法はありますか?
ありがとうございました。
たとえば、difftime
を使用して、測定単位を指定できます。たとえば、
difftime(t1, t2, units = "secs")
別の方法(@nicolaで言及され、同じドキュメントに記載されている)は、-
に-.POSIXt
メソッドがあることを利用し、units<-
置換メソッドを使用した減算演算の後に測定単位をオーバーライドすることです
res <- t1 - t2
units(res) <- "secs"