R: Utility Functions for the VGAM Package

UtilitiesVGAM {VGAM} | R Documentation

## Utility Functions for the VGAM Package

### Description

A set of common utility functions used by VGAM family functions.

### Usage

    param.names(string, S)
    dimm(M, hbw = M)
    interleave.VGAM(.M, M1, inverse = FALSE)

### Arguments

`string` | Character. Name of the parameter.
`M, .M` | Numeric. The total number of linear/additive predictors, called M. By total, it is meant summed over the number of responses. Often, M is the total number of parameters to be estimated (but this is not the same as the number of regression coefficients, unless the RHS of the formula is an intercept-only). The use of `.M` is unfortunate, but it is a compromise solution to what is presented in Yee (2015). Ideally, `.M` should be just `M`.
`M1` | Numeric. The number of linear/additive predictors for one response, called M_1. This argument used to be called `M`, but is now renamed properly.
`inverse` | Logical. Useful for the inverse function of `interleave.VGAM()`.
`S` | Numeric. The number of responses.
`hbw` | Numeric. The half-bandwidth, which measures the number of bands emanating from the central diagonal band.

### Details

See Yee (2015) for some details about some of these functions.

### Value

For `param.names()`, this function returns the parameter names for S responses, i.e., `string` is returned unchanged if S=1, else `paste(string, 1:S, sep = "")`.

For `dimm()`, this function returns the number of elements to be stored for each of the working weight matrices. They are represented as columns in the matrix `wz` in e.g., `vglm.fit()`. See the matrix-band format described in Section 18.3.5 of Yee (2015).

For `interleave.VGAM()`, this function returns a reordering of the linear/additive predictors depending on the number of responses. The arguments presented in Table 18.5 may not be valid in your version of Yee (2015).

### Author(s)

T. W. Yee. Victor Miranda added the `inverse` argument to `interleave.VGAM()`.

### References

Yee, T. W. (2015) Vector Generalized Linear and Additive Models: With an Implementation in R. New York, USA: Springer.

### See Also

`CommonVGAMffArguments`, `VGAM-package`.

### Examples

    param.names("shape", 1)  # "shape"
    param.names("shape", 3)  # c("shape1", "shape2", "shape3")

    dimm(3, hbw = 1)  # Diagonal matrix; the 3 elements need storage.
    dimm(3)  # A general 3 x 3 symmetrix matrix has 6 unique elements.
    dimm(3, hbw = 2)  # Tridiagonal matrix; the 3-3 element is 0 and unneeded.

    M1 <- 2; ncoly <- 3; M <- ncoly * M1
    mynames1 <- param.names("location", ncoly)
    mynames2 <- param.names("scale",    ncoly)
    (parameters.names <- c(mynames1, mynames2)[interleave.VGAM(M, M1 = M1)])
    # The  following is/was in Yee (2015) and has a poor/deceptive style:
    (parameters.names <- c(mynames1, mynames2)[interleave.VGAM(M, M  = M1)])
    parameters.names[interleave.VGAM(M, M1 = M1, inverse = TRUE)]

[Package VGAM version 1.0-3 Index]