@@ -189,18 +189,21 @@ variogramST.STIDF <- function (formula, data, tlags, cutoff,
189
189
m = model.frame(terms(formula ), as(data , " data.frame" ))
190
190
191
191
diffTime <- diff(index(data ))
192
- timeScale <- units(diffTime )
193
- if (missing(tunit ))
194
- warning(paste(" The argument 'tunit' is missing: tlags are assumed to be given in " , timeScale , " ." ,sep = " " ))
195
- else {
196
- stopifnot(tunit %in% c(" secs" , " mins" , " hours" , " days" , " weeks" ))
197
- units(diffTime ) <- tunit
198
- timeScale <- tunit
199
- }
200
- diffTime <- as.numeric(diffTime )
201
- if (missing(twindow )) {
202
- twindow <- round(2 * max(tlags , na.rm = TRUE )/ mean(diffTime ,na.rm = TRUE ),0 )
203
- }
192
+ if (inherits(diffTime , " difftime" )) {
193
+ timeScale <- units(diffTime )
194
+ if (missing(tunit ))
195
+ warning(paste(" The argument 'tunit' is missing: tlags are assumed to be given in " , timeScale , " ." ,sep = " " ))
196
+ else {
197
+ stopifnot(tunit %in% c(" secs" , " mins" , " hours" , " days" , " weeks" ))
198
+ units(diffTime ) <- tunit
199
+ timeScale <- tunit
200
+ }
201
+ diffTime <- as.numeric(diffTime )
202
+ } else if (! missing(tunit ))
203
+ stop(" 'tunit' ignored, as time values are not of class POSIXct or Date" )
204
+
205
+ if (missing(twindow ))
206
+ twindow <- round(2 * max(tlags , na.rm = TRUE ) / mean(diffTime , na.rm = TRUE ), 0 )
204
207
205
208
nData <- nrow(data )
206
209
0 commit comments