2017-09-17 174 views
1

該函數給我意想不到的結果,並帶有錯誤消息。 看我發現了什麼as.ITime錯誤「無效子串參數」

as.ITime(reff[["Saida"]]) 
[1] "05:24:00" 


as.ITime(df[,"Saida"]) 
[1] "04:30:00" 

之後,我執行:

diff(reff[["Saida"]], df[,"Saida"]) 
Error in substring(paste("0", hh, sep = ""), nchar(paste(hh))) : 
invalid substring arguments 

我怎樣才能解決這個問題?任何想法爲什麼這個錯誤出現?

PS:

這是DF

structure(list(Linha = 307L, Sentido = 1L, Saida = structure(16200L, class = "ITime"), 
Chegada = structure(16740L, class = "ITime"), Catraca = 0L, 
Embarcado = 25L, dia = "sexta", feriado = TRUE, isOL = FALSE, 
antes = TRUE, proximo = TRUE), .Names = c("Linha", "Sentido", 
"Saida", "Chegada", "Catraca", "Embarcado", "dia", "feriado", 
"isOL", "antes", "proximo"), row.names = 747092L, class = "data.frame") 

這是REFF

structure(list(Linha = 307L, Sentido = 1L, Saida = structure(19440L, class = "ITime"), 
Chegada = structure(20700L, class = "ITime"), Catraca = 35L, 
Embarcado = 125L, dia = "sexta", feriado = TRUE, isOL = TRUE, 
antes = TRUE, proximo = TRUE), .Names = c("Linha", "Sentido", 
"Saida", "Chegada", "Catraca", "Embarcado", "dia", "feriado", 
"isOL", "antes", "proximo"), row.names = 747094L, class = "data.frame") 

回答

2

你需要difftime(見?difftime)代替diff(見?diff):

difftime(reff[["Saida"]], df[,"Saida"]) 

的54分鐘

diff時間差被用於創建1個變量的滯後。 difftime用於計算2個時間/日期變量之間的差異。

+0

也許相反,「差異是爲了考慮一個變量和它自己的滯後之間的差異」。也可以指向'?diff','?as.ITime'(它通過?DateTimeClasses鏈接到?difftime)。 – Frank

+1

@Frank通過'?'添加了相關文檔的參考。謝謝 –