knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)
library(minvariance)
library(tidyverse)
library(lavaan)
library(semPlot)

Load data

filepath <- "https://quantdev.ssri.psu.edu/sites/qdev/files/WISC_MIexample.csv"
df <- read_csv(file = url(filepath))

Remove correlated uniqueness

# Correlated uniqueness can be removed using the "remove" argument
configural <- long_minvariance_syntax(var_list = list(t1 = c("info1", "comp1", "simi1", "voca1"),
                                                      t6 = c("info6", "comp6", "simi6", "voca6")),
                                      model = "configural", 
                                      remove = list(unique_covar = TRUE))

fit_configural <- cfa(configural,
                      data = df)


summary(fit_configural, fit.measures = TRUE)
semPaths(fit_configural, 
         what="path",
         whatLabels = "name",
         sizeInt = 4, sizeMan = 5, sizeLat = 6)

Includeing correlated uniqueness

configural_unique <- long_minvariance_syntax(var_list = list(t1 = c("info1", "comp1", "simi1", "voca1"),
                                                             t6 = c("info6", "comp6", "simi6", "voca6")),
                                             model = "configural")

fit_configural_unique <- cfa(configural_unique,
                             data = df)

summary(fit_configural_unique, 
        fit.measures = TRUE)
semPaths(fit_configural_unique, 
         what="path",
         whatLabels = "name",
         sizeInt = 4, sizeMan = 5, sizeLat = 6)

Fit statistics

minvariance(data = df, 
            var_list = list(t1 = c("info1", "comp1", "simi1", "voca1"),
                            t6 = c("info6", "comp6", "simi6", "voca6")),
            remove = list(unique_covar = T), 
            return = "fit_statistics") %>% 
  knitr::kable(digits = 3)

Model tests

minvariance(data = df, 
            var_list = list(t1 = c("info1", "comp1", "simi1", "voca1"),
                            t6 = c("info6", "comp6", "simi6", "voca6")),
            remove = list(unique_covar = T), 
            return = "model_tests") %>% 
  knitr::kable(digits = 3)

lavaan syntax

lminvar_syntax <- minvariance(data = df, 
                              var_list = list(t1 = c("info1", "comp1", "simi1", "voca1"),
                                              t6 = c("info6", "comp6", "simi6", "voca6")),
                              remove = list(unique_covar = T), 
                              return = "lavaan_syntax") 

Configural

lminvar_syntax$configural %>% 
  cat()

Weak

lminvar_syntax$weak %>% 
  cat()

Strong

lminvar_syntax$strong %>% 
  cat()

Strict

lminvar_syntax$strict %>% 
  cat()


milanwiedemann/minvariance documentation built on May 9, 2021, 9:05 p.m.