is_linear_sequence(1:5) # TRUE
is_linear_sequence(c(1,3,5,4,2)) # FALSE
is_linear_sequence(c(1,3,5,4,2), sort=TRUE) # TRUE
is_linear_sequence(NA_integer_) # TRUE
is_linear_sequence(NA_integer_, begin=4) # FALSE
is_linear_sequence(c(1, NA, 3)) # FALSE
d <- data.frame(
number = c(pi, exp(1), 7)
, date = as.Date(c("2015-12-17","2015-12-19","2015-12-21"))
, time = as.POSIXct(c("2015-12-17","2015-12-19","2015-12-20"))
)
rules <- validator(
is_linear_sequence(number) # fails
, is_linear_sequence(date) # passes
, is_linear_sequence(time) # fails
)
summary(confront(d,rules))
## check groupwise data
dat <- data.frame(
time = c(2012, 2013, 2012, 2013, 2015)
, type = c("hi", "hi", "ha", "ha", "ha")
)
rule <- validator(in_linear_sequence(time, by=type))
values(confront(dat, rule)) ## 2xT, 3xF
rule <- validator(in_linear_sequence(time, type))
values( confront(dat, rule) )
Run the code above in your browser using DataLab