Looks like I can get around this by creating a latent variable for `school` so that the latent factor is regressed on a latent variable instead of an observed variable:
``` r
library(lavaan)
#> This is lavaan 0.6-13
#> lavaan is FREE software! Please report any bugs.
HS_dat <- within(HolzingerSwineford1939, {
sch <- as.integer(school) - 1
})
HS.model <- ' visual =~ x1 + x2 + x3
lschool =~ sch
visual ~ lschool
x3 ~ lschool '
fit <- cfa(HS.model, data = HS_dat)
lavPredict(fit) |> head()
#> visual lschool
#> [1,] -1.5934664 0.4817276
#> [2,] -0.9576667 0.4817276
#> [3,] -1.1873101 0.4817276
#> [4,] -0.3507596 0.4817276
#> [5,] -1.5327331 0.4817276
#> [6,] -0.9457860 0.4817276