is.smart {VGAM} | R Documentation

## Test For a Smart Object

### Description

Tests an object to see if it is smart.

### Usage

      is.smart(object)

### Arguments

`object` | a function or a fitted model.

### Details

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.

### Value

Returns `TRUE` or `FALSE`, according to whether the `object` is smart or not.

### Examples

    is.smart(my1)  # TRUE
    is.smart(poly) # TRUE
    if(is.R()) library(splines)
    is.smart(bs)   # TRUE
    is.smart(ns)   # TRUE
    is.smart(tan)  # FALSE
    if(!is.R()) is.smart(lm)   # TRUE
    ## Not run:
    library(VGAM)
    x = rnorm(9)
    fit1 = vglm(rnorm(9) ~ x, normal1)
    is.smart(fit1)   # TRUE
    fit2 = vglm(rnorm(9) ~ x, normal1, smart=FALSE)
    is.smart(fit2)   # FALSE
    fit2@smart.prediction
    ## End(Not run)

[Package VGAM version 0.7-9 Index]