Learn R Programming

lavaSearch2 (version 1.0.0)

skeleton: Pre-computation for the Score

Description

Pre-compute quantities that are necessary to compute the score of a lvm model.

Usage

skeleton(object, ...)

# S3 method for lvm skeleton(object, as.lava, name.endogenous, name.latent, ...)

# S3 method for lvmfit skeleton(object, as.lava, p, data, name.endogenous, name.latent, ...)

skeletonDtheta(object, ...)

# S3 method for lvm skeletonDtheta(object, data, df.param.all, param2originalLink, name.endogenous, name.latent, ...)

# S3 method for lvmfit skeletonDtheta(object, data, df.param.all, param2originalLink, name.endogenous, name.latent, B, alpha.XGamma, Lambda, Psi, ...)

skeletonDtheta2(object, ...)

# S3 method for lvm skeletonDtheta2(object, data, df.param.all, param2originalLink, name.latent, ...)

# S3 method for lvmfit skeletonDtheta2(object, data, OD, df.param.all, param2originalLink, name.endogenous, name.latent, B, Lambda, Psi, ...)

Arguments

object

a latent variable model

...

[internal] Only used by the generic method.

as.lava

should the name of the links be used to name the parameters? Otherwise uses the labels (when defined) of each parameter.

name.endogenous

name of the endogenous variables

name.latent

name of the latent variables

p

[optional] vector of parameters at which to evaluate the score.

data

[optional] data set.

df.param.all

a data.table object containing detailing the type of each parameter.

param2originalLink

matching between the name of the parameter in lava and their label.

B

pre-computed matrix.

alpha.XGamma

pre-computed matrix.

Lambda

pre-computed matrix.

Psi

pre-computed matrix.

OD

list containing the pre-computed quantities for the second derivatives.

Details

When the use specify names for the parameters (e.g. Y1[mu:sigma]) or uses constrains (Y1~beta*X1), as.lava=FALSE will use the names specified by the user (e.g. mu, sigma, beta) while as.lava=TRUE will use the name of the first link defining the parameter.

Examples

Run this code
# NOT RUN {
## without constrain
m <- lvm(Y1~X1+X2+eta,Y2~X3+eta,Y3~eta)
latent(m) <- ~eta

e <- estimate(m,sim(m,1e2))
M.data <- as.matrix(model.frame(e))

skeleton(e$model, as.lava = TRUE,
         name.endogenous = endogenous(e), n.endogenous = 3,
         name.latent = latent(e), 
         update.value = FALSE)
skeleton(e, data = M.data, p = pars(e), as.lava = TRUE,
         name.endogenous = endogenous(e), n.endogenous = 3,
         name.latent = latent(e), 
         update.value = TRUE)

## with constrains
m <- lvm(Y[mu:sigma] ~ beta*X1+X2)
e <- estimate(m, sim(m,1e2))
M.data <- as.matrix(model.frame(e))

skeleton(e$model, as.lava = TRUE,
         name.endogenous = "Y", n.endogenous = 1,
         name.latent = NULL, 
         update.value = FALSE)$skeleton

skeleton(e, data = M.data, p = pars(e), as.lava = FALSE,
         name.endogenous = "Y", n.endogenous = 1,
         name.latent = NULL, 
         update.value = FALSE)$skeleton

# }

Run the code above in your browser using DataLab