2017-10-16 68 views
-3

我需要減去時間,即T2-T1,但它給我一個錯誤,如下所述;在時間差R

> deltaT <- tim[i + 1] - tim[i] 
    Error in tim[i + 1] - tim[i] : non-numeric argument to binary operator 

然而,T1和T2是在

 "2017-10-12T12:51:29.616" 

形式任何人都可以請幫我在這?謝謝 !

+3

轉換爲正確的日期時間格式。請參閱'?as.POSIXct' – Sotos

+2

請檢查[mcve] –

回答

-2

查一查dplyrdifftime和dpylr的lead

你可能會使用這樣的:

df%>%mutate(timeDiff = difftime(lead(time), time, units = "days")) 

如果你想找到兩個特定日期之間的時間,你可以使用:

date1 <- as.POSIXct("2017-10-12T12:51:29.616", format = "%Y-%m-%dT%H:%M:%OS") 
date2 <- as.POSIXct("2017-10-12T12:51:39.616", format = "%Y-%m-%dT%H:%M:%OS") 

timeBetween = difftime(date1,date2, units = "secs") 
print(timeBetween) 
Time difference of -10 secs 
+0

感謝您的回答,但是這是什麼? df%>%mutate – sara

+0

其管道運營商。這裏更多解釋http://uc-r.github.io/pipe – DataTx

+0

謝謝!我只是想從「2017-10-12T12:51:39.616」中減去「2017-10-12T12:51:29.616」;這就是爲什麼我提出這個問題。 – sara