0
我遇到類似於此問題的問題R how can I calculate difference between rows in a data frame;我嘗試使用此代碼在R中,當列是POSIXlt時,如何區分數據框的行間?
df <- data.frame(timestamp=c("2015-02-02 09:53:44","2015-02-02 09:54:53","2015-02-02 09:55:52"),cnt=c(1,2,3))
df$timestamp <- strptime(df$timestamp, "%Y-%m-%d %H:%M:%S")
apply(df , 2 , diff)
應用此解決方案https://stackoverflow.com/a/16212173/15485,但我得到這個錯誤:
Error in r[i1] - r[-length(r):-(length(r) - lag + 1L)] :
non-numeric argument to binary operator
如果我刪除列timestamp
(這是POSIXlt
型的),那麼它將很好地工作。
但是...... diff(df$timestamp)
運作良好:
Time differences in secs
[1] 69 59
所以,我缺少什麼?
您是否需要此輸出? 'c(NA,diff(df $ timestamp))' –
還是這個? sapply(df,diff)'? – Sotos
@RonakShah'c(NA,diff(df $ timestamp))'很好 –