is.smart.RdTests an object to see if it is smart.
is.smart(object)Returns TRUE or FALSE, according to whether the object
is smart or not.
If object is a function then this function looks to see whether
object has the logical attribute "smart". If so then
this is returned, else FALSE.
If object is a fitted model then this function looks to see whether
object@smart.prediction or
object\$smart.prediction exists.
If it does and it is not equal to list(smart.arg=FALSE) then
a TRUE is returned, else FALSE.
The reason for this is because, e.g., lm(...,smart=FALSE)
and vglm(...,smart=FALSE), will return such a specific list.
Writers of smart functions manually have to assign this attribute to their smart function after it has been written.
is.smart(sm.min1) # TRUE
#> [1] TRUE
is.smart(sm.poly) # TRUE
#> [1] TRUE
library(splines)
is.smart(sm.bs) # TRUE
#> [1] TRUE
is.smart(sm.ns) # TRUE
#> [1] TRUE
is.smart(tan) # FALSE
#> [1] FALSE
if (FALSE) { # \dontrun{
udata <- data.frame(x2 = rnorm(9))
fit1 <- vglm(rnorm(9) ~ x2, uninormal, data = udata)
is.smart(fit1) # TRUE
fit2 <- vglm(rnorm(9) ~ x2, uninormal, data = udata, smart = FALSE)
is.smart(fit2) # FALSE
fit2@smart.prediction
} # }