The goal of digavaan is to extract information as R data structures from
a lavaan
object.
Install the development version from GitHub with:
# install.packages("devtools")
devtools::install_github("asqm/digavaan")
Warning: digavaan
will most likely never go to CRAN because it
uses internal functions from lavaan
. This hinders the package as
unstable. However, because most of the inner functions that are used in
this package are the same used by lavaan::summary
, unless there’s a
breaking change (very unlikely with such a mature package) the same
information should be stable.
Using the same example from lavaan
:
library(lavaan)
#> This is lavaan 0.6-2
#> lavaan is BETA software! Please report any bugs.
library(digavaan)
model <- "
# latent variables
ind60 =~ x1 + x2 + x3
dem60 =~ y1 + y2 + y3 + y4
dem65 =~ y5 + y6 + y7 + y8
# regressions
dem60 ~ ind60
dem65 ~ ind60 + dem60
# residual covariances
y1 ~~ y5
y2 ~~ y4 + y6
y3 ~~ y7
y4 ~~ y8
y6 ~~ y8"
fit <- sem(model, data=PoliticalDemocracy)
# Traditional print
summary(fit)
#> lavaan 0.6-2 ended normally after 68 iterations
#>
#> Optimization method NLMINB
#> Number of free parameters 31
#>
#> Number of observations 75
#>
#> Estimator ML
#> Model Fit Test Statistic 38.125
#> Degrees of freedom 35
#> P-value (Chi-square) 0.329
#>
#> Parameter Estimates:
#>
#> Information Expected
#> Information saturated (h1) model Structured
#> Standard Errors Standard
#>
#> Latent Variables:
#> Estimate Std.Err z-value P(>|z|)
#> ind60 =~
#> x1 1.000
#> x2 2.180 0.139 15.742 0.000
#> x3 1.819 0.152 11.967 0.000
#> dem60 =~
#> y1 1.000
#> y2 1.257 0.182 6.889 0.000
#> y3 1.058 0.151 6.987 0.000
#> y4 1.265 0.145 8.722 0.000
#> dem65 =~
#> y5 1.000
#> y6 1.186 0.169 7.024 0.000
#> y7 1.280 0.160 8.002 0.000
#> y8 1.266 0.158 8.007 0.000
#>
#> Regressions:
#> Estimate Std.Err z-value P(>|z|)
#> dem60 ~
#> ind60 1.483 0.399 3.715 0.000
#> dem65 ~
#> ind60 0.572 0.221 2.586 0.010
#> dem60 0.837 0.098 8.514 0.000
#>
#> Covariances:
#> Estimate Std.Err z-value P(>|z|)
#> .y1 ~~
#> .y5 0.624 0.358 1.741 0.082
#> .y2 ~~
#> .y4 1.313 0.702 1.871 0.061
#> .y6 2.153 0.734 2.934 0.003
#> .y3 ~~
#> .y7 0.795 0.608 1.308 0.191
#> .y4 ~~
#> .y8 0.348 0.442 0.787 0.431
#> .y6 ~~
#> .y8 1.356 0.568 2.386 0.017
#>
#> Variances:
#> Estimate Std.Err z-value P(>|z|)
#> .x1 0.082 0.019 4.184 0.000
#> .x2 0.120 0.070 1.718 0.086
#> .x3 0.467 0.090 5.177 0.000
#> .y1 1.891 0.444 4.256 0.000
#> .y2 7.373 1.374 5.366 0.000
#> .y3 5.067 0.952 5.324 0.000
#> .y4 3.148 0.739 4.261 0.000
#> .y5 2.351 0.480 4.895 0.000
#> .y6 4.954 0.914 5.419 0.000
#> .y7 3.431 0.713 4.814 0.000
#> .y8 3.254 0.695 4.685 0.000
#> ind60 0.448 0.087 5.173 0.000
#> .dem60 3.956 0.921 4.295 0.000
#> .dem65 0.172 0.215 0.803 0.422
# Same information but as a data frames
summary_lavaan(fit)
#> $header
#> $header$iter
#> [1] "lavaan (0.6-2) converged normally after 68 iterations\n"
#>
#> $header$n_groups
#> name_group used total
#> 1 Group 1 75 NA
#>
#> $header$estimator_details
#> estimator ml ml_scaled
#> 1 Minimum Function Test Statistic 38.12522 NA
#> 2 Degrees of freedom 35.00000 NA
#> 3 P-value (Chi-square) 0.32900 NA
#>
#>
#> $estimates
#> lhs op rhs exo est se z pvalue
#> 1 ind60 =~ x1 0 1.000 0.000 NA NA
#> 2 ind60 =~ x2 0 2.180 0.139 15.742 0.000
#> 3 ind60 =~ x3 0 1.819 0.152 11.967 0.000
#> 4 dem60 =~ y1 0 1.000 0.000 NA NA
#> 5 dem60 =~ y2 0 1.257 0.182 6.889 0.000
#> 6 dem60 =~ y3 0 1.058 0.151 6.987 0.000
#> 7 dem60 =~ y4 0 1.265 0.145 8.722 0.000
#> 8 dem65 =~ y5 0 1.000 0.000 NA NA
#> 9 dem65 =~ y6 0 1.186 0.169 7.024 0.000
#> 10 dem65 =~ y7 0 1.280 0.160 8.002 0.000
#> 11 dem65 =~ y8 0 1.266 0.158 8.007 0.000
#> 12 dem60 ~ ind60 0 1.483 0.399 3.715 0.000
#> 13 dem65 ~ ind60 0 0.572 0.221 2.586 0.010
#> 14 dem65 ~ dem60 0 0.837 0.098 8.514 0.000
#> 15 y1 ~~ y5 0 0.624 0.358 1.741 0.082
#> 16 y2 ~~ y4 0 1.313 0.702 1.871 0.061
#> 17 y2 ~~ y6 0 2.153 0.734 2.934 0.003
#> 18 y3 ~~ y7 0 0.795 0.608 1.308 0.191
#> 19 y4 ~~ y8 0 0.348 0.442 0.787 0.431
#> 20 y6 ~~ y8 0 1.356 0.568 2.386 0.017
#> 21 x1 ~~ x1 0 0.082 0.019 4.184 0.000
#> 22 x2 ~~ x2 0 0.120 0.070 1.718 0.086
#> 23 x3 ~~ x3 0 0.467 0.090 5.177 0.000
#> 24 y1 ~~ y1 0 1.891 0.444 4.256 0.000
#> 25 y2 ~~ y2 0 7.373 1.374 5.366 0.000
#> 26 y3 ~~ y3 0 5.067 0.952 5.324 0.000
#> 27 y4 ~~ y4 0 3.148 0.739 4.261 0.000
#> 28 y5 ~~ y5 0 2.351 0.480 4.895 0.000
#> 29 y6 ~~ y6 0 4.954 0.914 5.419 0.000
#> 30 y7 ~~ y7 0 3.431 0.713 4.814 0.000
#> 31 y8 ~~ y8 0 3.254 0.695 4.685 0.000
#> 32 ind60 ~~ ind60 0 0.448 0.087 5.173 0.000
#> 33 dem60 ~~ dem60 0 3.956 0.921 4.295 0.000
#> 34 dem65 ~~ dem65 0 0.172 0.215 0.803 0.422