Compute factor scores
compute_fscore.Rd
Compute 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
y
should be mean-centered. Default toTRUE
.- 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. IfTRUE
, 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