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 = 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
|
M1 |
Numeric. The number of linear/additive predictors for one response, called
|
inverse |
Logical. Useful for the inverse function of |
S |
Numeric. The number of responses. |
skip1 , sep |
The former is logical;
should one skip (or omit) |
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)]