# UtilitiesVGAM: Utility Functions for the VGAM Package In VGAM: Vector Generalized Linear and Additive Models

 UtilitiesVGAM 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 = 1, skip1 = FALSE, sep = "")
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. `skip1, sep` The former is logical; should one skip (or omit) `"1"` when `S = 1`? The latter is the same argument as `paste`. `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.

`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)]
``````

VGAM documentation built on Sept. 19, 2023, 9:06 a.m.