tsdlvm1 | R Documentation |
This is the family of models that models a dynamic factor model on time-series. There are two covariance structures that can be modeled in different ways: contemporaneous
for the contemporaneous model and residual
for the residual model. These can be set to "cov"
for covariances, "prec"
for a precision matrix, "ggm"
for a Gaussian graphical model and "chol"
for a Cholesky decomposition. The ts_lvgvar
wrapper function sets contemporaneous = "ggm"
for the graphical VAR model.
tsdlvm1(data, lambda, contemporaneous = c("cov", "chol",
"prec", "ggm"), residual = c("cov", "chol", "prec",
"ggm"), beta = "full", omega_zeta = "full", delta_zeta
= "diag", kappa_zeta = "full", sigma_zeta = "full",
lowertri_zeta = "full", omega_epsilon = "zero",
delta_epsilon = "diag", kappa_epsilon = "diag",
sigma_epsilon = "diag", lowertri_epsilon = "diag", nu,
mu_eta, identify = TRUE, identification =
c("loadings", "variance"), latents, beepvar, dayvar,
idvar, vars, groups, covs, means, nobs, missing =
"listwise", equal = "none", baseline_saturated = TRUE,
estimator = "ML", optimizer, storedata = FALSE,
sampleStats, covtype = c("choose", "ML", "UB"),
centerWithin = FALSE, standardize = c("none", "z",
"quantile"), verbose = FALSE, bootstrap = FALSE,
boot_sub, boot_resample)
ts_lvgvar(...)
data |
A data frame encoding the data used in the analysis. Can be missing if |
lambda |
A model matrix encoding the factor loading structure. Each row indicates an indicator and each column a latent. A 0 encodes a fixed to zero element, a 1 encoding a free to estimate element, and higher integers encoding equality constrains. For multiple groups, this argument can be a list or array with each element/slice encoding such a matrix. |
contemporaneous |
The type of contemporaneous model used. See description. |
residual |
The type of residual model used. See description. |
beta |
A model matrix encoding the temporal relationships (transpose of temporal network) between latent variables. A 0 encodes a fixed to zero element, a 1 encoding a free to estimate element, and higher integers encoding equality constrains. For multiple groups, this argument can be a list or array with each element/slice encoding such a matrix. Can also be |
omega_zeta |
Only used when |
delta_zeta |
Only used when |
kappa_zeta |
Only used when |
sigma_zeta |
Only used when |
lowertri_zeta |
Only used when |
omega_epsilon |
Only used when |
delta_epsilon |
Only used when |
kappa_epsilon |
Only used when |
sigma_epsilon |
Only used when |
lowertri_epsilon |
Only used when |
nu |
Optional vector encoding the intercepts of the observed variables. Set elements to 0 to indicate fixed to zero constrains, 1 to indicate free intercepts, and higher integers to indicate equality constrains. For multiple groups, this argument can be a list or array with each element/column encoding such a vector. |
mu_eta |
Optional vector encoding the means of the latent variables. Set elements to 0 to indicate fixed to zero constrains, 1 to indicate free intercepts, and higher integers to indicate equality constrains. For multiple groups, this argument can be a list or array with each element/column encoding such a vector. |
identify |
Logical, should the model be automatically identified? |
identification |
Type of identification used. |
latents |
An optional character vector with names of the latent variables. |
beepvar |
Optional string indicating assessment beep per day. Adding this argument will cause non-consecutive beeps to be treated as missing! |
dayvar |
Optional string indicating assessment day. Adding this argument makes sure that the first measurement of a day is not regressed on the last measurement of the previous day. IMPORTANT: only add this if the data has multiple observations per day. |
idvar |
Optional string indicating the subject ID |
vars |
An optional character vector encoding the variables used in the analyis. Must equal names of the dataset in |
groups |
An optional string indicating the name of the group variable in |
covs |
A sample variance–covariance matrix, or a list/array of such matrices for multiple groups. Make sure |
means |
A vector of sample means, or a list/matrix containing such vectors for multiple groups. |
nobs |
The number of observations used in |
missing |
How should missingness be handled in computing the sample covariances and number of observations when |
equal |
A character vector indicating which matrices should be constrained equal across groups. |
baseline_saturated |
A logical indicating if the baseline and saturated model should be included. Mostly used internally and NOT Recommended to be used manually. |
estimator |
The estimator to be used. Currently implemented are |
optimizer |
The optimizer to be used. Can be one of |
storedata |
Logical, should the raw data be stored? Needed for bootstrapping (see |
standardize |
Which standardization method should be used? |
sampleStats |
An optional sample statistics object. Mostly used internally. |
centerWithin |
Logical, should data be within-person centered? |
covtype |
If 'covs' is used, this is the type of covariance (maximum likelihood or unbiased) the input covariance matrix represents. Set to |
verbose |
Logical, should messages be printed? |
bootstrap |
Should the data be bootstrapped? If |
boot_sub |
Proportion of cases to be subsampled ( |
boot_resample |
Logical, should the bootstrap be with replacement ( |
... |
Arguments sent to |
An object of the class psychonetrics (psychonetrics-class)
Sacha Epskamp
# Note: this example is wrapped in a dontrun environment because the data is not
# available locally.
## Not run:
# Obtain the data from:
#
# Epskamp, S., van Borkulo, C. D., van der Veen, D. C., Servaas, M. N., Isvoranu, A. M.,
# Riese, H., & Cramer, A. O. (2018). Personalized network modeling in psychopathology:
# The importance of contemporaneous and temporal connections. Clinical Psychological
# Science, 6(3), 416-427.
#
# Available here: https://osf.io/c8wjz/
tsdata <- read.csv("Supplementary2_data.csv")
# Encode time variable in a way R understands:
tsdata$time <- as.POSIXct(tsdata$time, tz = "Europe/Amsterdam")
# Extract days:
tsdata$Day <- as.Date(tsdata$time, tz = "Europe/Amsterdam")
# Variables to use:
vars <- c("relaxed", "sad", "nervous", "concentration", "tired", "rumination",
"bodily.discomfort")
# Create lambda matrix (in this case: one factor):
Lambda <- matrix(1,7,1)
# Estimate dynamical factor model:
model <- tsdlvm1(
tsdata,
lambda = Lambda,
vars = vars,
dayvar = "Day",
estimator = "FIML"
)
# Run model:
model <- model %>% runmodel
# Look at fit:
model %>% print
model %>% fit # Pretty bad fit
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.