Become an expert in R — Interactive courses, Cheat Sheets, certificates and more!
Get Started for Free

UtilitiesVGAM

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.

See Also

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

Vector Generalized Linear and Additive Models

v1.1-5
GPL-3
Authors
Thomas Yee [aut, cre], Cleve Moler [ctb] (author of several LINPACK routines)
Initial release
2021-01-13

We don't support your browser anymore

Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.