Compute factor scores
compute_fscore.RdCompute factor scores
Usage
compute_fscore(
  y,
  lambda,
  theta,
  psi = NULL,
  nu = NULL,
  alpha = NULL,
  method = c("regression", "Bartlett"),
  center_y = TRUE,
  acov = FALSE,
  fs_matrices = FALSE
)Arguments
- y
- An N x p matrix where each row is a response vector. If there is only one observation, it should be a matrix of one row. 
- lambda
- A p x q matrix of factor loadings. 
- theta
- A p x p matrix of unique variance-covariances. 
- psi
- A q x q matrix of latent factor variance-covariances. 
- nu
- A vector of length p of measurement intercepts. 
- alpha
- A vector of length q of latent means. 
- method
- A character string indicating the method for computing factor scores. Currently, only "regression" is supported. 
- center_y
- Logical indicating whether - yshould be mean-centered. Default to- TRUE.
- acov
- Logical indicating whether the asymptotic covariance matrix of factor scores should be returned as an attribute. 
- fs_matrices
- Logical indicating whether covariances of the error portion of factor scores ( - fsT), factor score loading matrix (\(L\);- fsL) and intercept vector (\(b\);- fsb) should be returned. The loading and intercept matrices are the implied loadings and intercepts by the model when using the factor scores as indicators of the latent variables. If- TRUE, these matrices will be added as attributes.
Examples
library(lavaan)
fit <- cfa(" ind60 =~ x1 + x2 + x3
             dem60 =~ y1 + y2 + y3 + y4 ",
           data = PoliticalDemocracy)
fs_lavaan <- lavPredict(fit, method = "Bartlett")
# Using R2spa::compute_fscore()
est <- lavInspect(fit, what = "est")
fs_hand <- compute_fscore(lavInspect(fit, what = "data"),
                          lambda = est$lambda,
                          theta = est$theta,
                          psi = est$psi,
                          method = "Bartlett")
fs_hand - fs_lavaan  # same scores
#>       ind60 dem60
#>  [1,]     0     0
#>  [2,]     0     0
#>  [3,]     0     0
#>  [4,]     0     0
#>  [5,]     0     0
#>  [6,]     0     0
#>  [7,]     0     0
#>  [8,]     0     0
#>  [9,]     0     0
#> [10,]     0     0
#> [11,]     0     0
#> [12,]     0     0
#> [13,]     0     0
#> [14,]     0     0
#> [15,]     0     0
#> [16,]     0     0
#> [17,]     0     0
#> [18,]     0     0
#> [19,]     0     0
#> [20,]     0     0
#> [21,]     0     0
#> [22,]     0     0
#> [23,]     0     0
#> [24,]     0     0
#> [25,]     0     0
#> [26,]     0     0
#> [27,]     0     0
#> [28,]     0     0
#> [29,]     0     0
#> [30,]     0     0
#> [31,]     0     0
#> [32,]     0     0
#> [33,]     0     0
#> [34,]     0     0
#> [35,]     0     0
#> [36,]     0     0
#> [37,]     0     0
#> [38,]     0     0
#> [39,]     0     0
#> [40,]     0     0
#> [41,]     0     0
#> [42,]     0     0
#> [43,]     0     0
#> [44,]     0     0
#> [45,]     0     0
#> [46,]     0     0
#> [47,]     0     0
#> [48,]     0     0
#> [49,]     0     0
#> [50,]     0     0
#> [51,]     0     0
#> [52,]     0     0
#> [53,]     0     0
#> [54,]     0     0
#> [55,]     0     0
#> [56,]     0     0
#> [57,]     0     0
#> [58,]     0     0
#> [59,]     0     0
#> [60,]     0     0
#> [61,]     0     0
#> [62,]     0     0
#> [63,]     0     0
#> [64,]     0     0
#> [65,]     0     0
#> [66,]     0     0
#> [67,]     0     0
#> [68,]     0     0
#> [69,]     0     0
#> [70,]     0     0
#> [71,]     0     0
#> [72,]     0     0
#> [73,]     0     0
#> [74,]     0     0
#> [75,]     0     0